[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:750

From: sheepman <sheepman sheepman.sakura.ne.jp>
Date: Thu, 29 Dec 2005 09:22:24 +0900
Subject: [yarv-dev:750] open> send can call private methods

こんにちは、sheepman です。
最近の ruby-1.9 で変更されたことですが、yarv では ruby-1.9 と違って
send が private method を呼ぶことができてしまいます。

$ cat t.rb
class Hoge
  def p_method
    "private"
  end
  private :p_method
end
p Hoge.new.send(:p_method)

$ ./miniruby -v t.rb
ruby 1.9.0 (2005-11-18) [i686-linux]
YARVCore 0.3.3 (rev: 339) [opts: ]
"private"

$ ruby-1.9 -v t.rb
ruby 1.9.0 (2005-12-28) [i686-linux]
t.rb:7:in `send': private method `p_method' called for #<Hoge:0x4021e41c> (NoMethodError)
        from t.rb:7

-- 
sheepman / TAMURA Takashi
sheepman sheepman.sakura.ne.jp http://sheepman.parfait.ne.jp/

-- 
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

->     750 2005-12-29 09:22 [sheepman sheepman.sa] open> send can call private methods     
       752 2005-12-29 10:17 ┗[ko1 atdot.net       ]