From: ARIMA Yasuhiro Date: 2000-10-16T11:09:56+09:00 Subject: [ruby-dev:11237] Re: $SAFE = 4 有馬です。 matz@zetabits.com (Yukihiro Matsumoto) wrote | 同義じゃないと思うけど。ただ手続きオブジェクトを生成してるだ | けで、クラスにメソッドを追加してるわけでなし。後者がどう危険 | なのか教えて下さいませんか? またしても、勇み足だったかも。以下のようなコードで疑問を持ったのですが、 メソッド定義と同様の処理を行うブロックを定義できることをもって同義だと考え、 扱いが違うのはなぜだろうと思ったのです。 $SAFE=4 f = proc{ |n| if n<2 then 1 else n*f.call(n-1) end } def f(n); if n<2 then 1 else n*f(n-1) end end # => Insecure operation `(null)' for level 4 (SecurityError) -- 有馬 康弘