編集:Rubyバージョン2.0.0を使用しています
ファイル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 を返しますか?