ruby - Ruby 中的方法访问

标签 ruby methods

为什么 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/

相关文章:

Ruby 加入哈希和列表+剩余值

ruby-on-rails - Rails 不通过 SSL 呈现 Assets (404 未找到错误)

java - equals 方法在 java 中不起作用。硬件

java - 类构造函数中的 ArrayList 字段

python - 如何获取class(__init__)的输入参数个数?

ruby-on-rails - Rails create_table 查询

ruby-on-rails - Rspec 验证测试 (Mongoid)

java - 有没有办法在 java 中执行 "andand"技术?

java - 对递归方法和循环感到困惑

java - 方法无效