在Rails控制台中创建没有类的方法时,下面的方法是什么类?

时间:2016-10-01 17:44:37

标签: ruby-on-rails ruby

说我在rails console中执行了以下操作:

def test
  puts "hi"
end

我可以运行test,我在控制台中看到你好。我想要了解的是这个test方法附加到哪里?它是班级的一部分吗?是否有可用于确定方法所属位置的命令?

谢谢!

1 个答案:

答案 0 :(得分:1)

Ruby在运行控制台时会创建Object类的对象,因此所有方法都是Object类的私有实例方法,您可以运行它来验证。

        Object.private_instance_methods.include? :test

因此,当您在控制台中定义方法时,它将被解释为此

class Object
 def test
  puts "hi"
end
end

更多解释

我想解释一下,但是有关这个主题的详细文章,

https://www.sitepoint.com/rubys-top-self-object/