gpt4 book ai didi

ruby - 类在需要时运行

转载 作者:数据小太阳 更新时间:2023-10-29 08:32:00 24 4
gpt4 key购买 nike

我需要一个包含类的文件,但从未为所需类创建对象。但是当我运行“main.rb”文件时,所需的类就会启动。为什么?

主要.rb

require "./required_class.rb"

puts "This should be listed first"

required_class.rb

class Hello_World
puts "Hello World"
end

最佳答案

在 ruby​​ 类中,类的行为不像函数,它们在执行时被评估。由于这个事实,您的类(class)实际上与简单地没有什么不同:

puts "Hello World"

如果您只是在 IRB 中运行,您所看到的是预期的:

> class Hello_World
> puts "Hello World"
> end
"Hello World"
=> nil

要在您需要包含它的文件时阻止它运行,您需要创建一个构造函数,如下所示:

class Hello_World
def initialize
puts "Hello World"
end
end

现在您将看不到任何输出,直到您运行 Hello_World.new如果您希望能够在不实例化的情况下打印您的消息,您可以使用:

class Hello_World
@@hello = "Hello World"
end

然后你可以通过puts Hello_World.hello获取消息

关于ruby - 类在需要时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23853795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com