【发布时间】:2019-06-20 06:06:08
【问题描述】:
当我写下面的程序时,
class Classname
puts "hi"
end
将其保存为.rb 文件,并在终端中执行该文件,返回输出“hi”。我不明白为什么。难道我不必将该 puts 语句分配给一个方法,创建一个 Classname 类的对象,然后在所述对象上调用该方法以获得该输出吗?或者至少把puts语句放在类的initialize方法中,然后再创建一个对象?为什么会这样?
【问题讨论】:
-
当你使用
class关键字定义一个类时,它实际上构造了一个新的Class对象并在其上下文中执行内部代码。见stackoverflow.com/a/9202363/591495 -
如果类中的代码没有被执行,你将如何定义方法?如果类中的代码没有被执行,你将如何调用
attr_accessor方法?如果initialize的定义类在对象初始化之前没有被执行,你将如何创建一个实例?为什么initialize方法的定义必须为您创建的每个实例一遍又一遍地执行?