gpt4 book ai didi

ruby - 什么时候必须在 Ruby 中 require 一个模块?

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

说你有

module MyFirstModule
def say_hello
puts "Hello"
end
end

class ModuleTester
include MyFirstModule
end

您是否需要在类定义之上添加一个require MyFirstModule 语句?您是否需要 require 模块?什么时候,为什么?

最佳答案

您从不需要模块,您需要文件。

在上面的示例中,如果您发布的两个片段位于不同的文件中,例如my_first_module.rbmodule_tester.rb,那么你必须做

require "my_first_module"

在您可以引用 MyFirstModule 之前。

(显然,如果它们在同一个文件中,则不需要 require 语句,并且无论如何也没有意义,因为没有文件可以 require .)

require 所做的是在库路径 中查找给定的 Ruby 文件,然后加载 Ruby 文件,就好像您已经执行了它一样。该文件将在程序运行期间最多加载一次(这与 load 命令不同,后者与 require 非常相似)。

在上面的示例中,在您可以使用 MyFirstModule 之前,您必须require 定义它的文件。

请注意,有一种自动加载机制可以为您自动请求 文件。此外,Rails 会自动要求 大多数类。因此,请不要因为在某些情况下似乎不需要 require 语句而感到困惑。

关于ruby - 什么时候必须在 Ruby 中 require 一个模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23330604/

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