为什么 Ruby 允许类隐式访问类外部的方法?
例子:
class Candy
def land
homer
end
end
def homer
puts "Hello"
end
Candy.new.land #Outputs Hello
最佳答案
“homer”方法的定义是将方法添加到Object类中。它没有定义自由函数。
Candy 类隐式继承自 Object,因此可以访问 Object 中的方法。当你在“land”方法中调用“homer”时,方法解析在当前类中找不到定义,去父类(super class)中,找到你添加到Object中的方法,并调用它。
关于ruby - Ruby 中的方法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/156394/