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