編集:私は、Rubyのバージョン2.0.0「respond_to?」について混乱しています。方法
を使用していますI持つファイルexample.rb
def say_hello
puts 'hi'
end
puts respond_to?(:say_hello)
say_hello
このコードを実行すると、出力がされ、次のコード:
false
hi
「respond_to」のfalseが返される理由を混乱させています。私はその方法を使うことができます。
"respond_to?"この方法はしかし、このように動作するように思える:
class Person
def say_bye
puts 'bye'
end
end
mike = Person.new
puts mike.respond_to?(:say_bye)
mike.say_bye
出力は次のようになります。
true
bye
誰もが理由として任意の洞察力を持っています「respond_to?」最初のケースではfalseを返しますか?
興味深い、ちょうどI?それをirbで実行し、それは私のために働いた。おそらく自分でそれを呼び出すことによって、もっと明白にしようとしましたか? 'puts self.respond_to?(:say_hello)' – AdamT
self.respond_to(:say_hello)はfalseを返します。 – MichaelHajuddah
実行中のRubyのバージョンは? – Shoe