Ruby 中的 include 和 require 有什么区别?

问题描述

Ruby 中的“include”和“require”有什么区别?

include 和 require 方法做了非常不同的事情。

require 方法做了大多数其他编程语言中 include 所做的事情:运行另一个文件。它还会跟踪您过去需要的内容,并且不会两次需要相同的文件。要在没有此附加功能的情况下运行另一个文件,您可以使用 load 方法

include 方法从另一个模块中获取所有方法,并将它们包含到当前模块中。这是一个语言级别的东西,而不是文件级别的东西,就像 require 一样。include 方法是使用其他模块“扩展”类的主要方法(通常称为 mix-ins)。例如,如果你的类定义方法“each”,你可以包含 mixin 模块 Enumerable 并且它可以作为一个集合。这可能会令人困惑,因为包含动词在其他语言中的使用方式非常不同。

资源

因此,如果您只想使用一个模块,而不是扩展它或进行混合,那么您将需要使用require.

奇怪的是,Ruby’srequire类似于 C’s include,而 Ruby’sinclude几乎与 C’s 完全不同include

解决方法

Rubyrequire
和有什么区别?include如果我只想在我的课程中使用模块中的方法,我应该使用require它还是include它?