编辑:我使用的是
Ruby 2.0.0版
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?