当我编写以下程序时,
class Classname
puts "hi"
end
Run Code Online (Sandbox Code Playgroud)
将其另存为.rb文件,并在终端中执行该文件,返回输出“ hi”。我不明白为什么。我是否不必将puts语句分配给方法,创建Classname类的对象,然后在所述对象上调用该方法以获取输出?或者至少将puts语句放入类的initialize方法中,然后创建一个对象?为什么这样工作呢?
Ruby是一种脚本语言,这意味着您可以编写
puts 'hi'
Run Code Online (Sandbox Code Playgroud)
在文件中定义任何类或方法。
同样,在定义类时,实际上是在执行代码来定义该类。结果,您在其中执行的代码可能会有副作用,例如puts 'hi'。这很有用,因为Ruby中经常使用元编程来帮助定义类。