在Ruby中,将代码放入initialize()
方法而不是直接放入类主体有什么区别?两者都似乎在调用MyClass.new
时执行。
显然,initialize()
可以接受参数,但这是唯一的区别吗?
class MyClass
puts 'Hello'
def initialize(params)
puts 'World'
end
end
最佳答案
尝试创建MyClass的两个实例
a = MyClass.new
b = MyClass.new
看看区别:类主体中的代码仅执行一次-当ruby加载文件时。每当您创建类的新实例时,都会执行initialize()。
关于ruby - Ruby:initialize()vs类主体?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6043618/