gpt4 book ai didi

Ruby,包括当前目录中的模块

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:37 25 4
gpt4 key购买 nike

我目前正在通过 Well Grounded Rubyist 工作。到目前为止很棒的书。我被困在我对 ruby 不太了解的事情上。我有两个文件

在 ModuleTester.rb 中

class ModuleTester
include MyFirstModule
end

mt = ModuleTester.new
mt.say_hello

在 MyFirstModule.rb 中

module MyFirstModule
def say_hello
puts "hello"
end
end

当我运行“ruby ModuleTester.rb”时,我收到以下消息:

ModuleTester.rb:2:in <class:ModuleTester>': uninitialized constant ModuleTester::MyFirstModule (NameError)
from ModuleTester.rb:1:in
'

根据我在网上找到的内容,当前目录不在命名空间中,因此它看不到该文件。但是,include 语句不使用字符串来让我给出路径。由于 include 语句和 require 语句做不同的事情,我完全迷路了至于如何让 include 语句识别模块。我查看了其他问题,但它们似乎都在使用 require 语句。非常感谢任何提示。

最佳答案

您使用require 来加载文件,而不是include。 :-)

首先,您必须require 包含您要包含 的模块的文件。然后您可以包含模块。

如果您使用的是 Rails,它会自动要求 首先自动获取正确的文件。但除此之外,您必须自己动手。

关于Ruby,包括当前目录中的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6543368/

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