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

我的问题类似于“ 在Ruby中包含和扩展之间有什么区别? ”。


require和includeRuby有什么区别?如果我只想使用我班上某个模块中的方法,应该require还是include应该?


潇潇雨雨
浏览 1049回答 3
3回答

精慕HU

Ruby中的“ include”和“ require”有什么区别?回答:include和require方法的作用截然不同。require方法可以完成大多数其他编程语言所包含的功能:运行另一个文件。它还会跟踪您过去所需的内容,并且不需要两次相同的文件。要运行没有此附加功能的另一个文件,可以使用load方法。include方法将从另一个模块中获取所有方法,并将它们包括到当前模块中。与require相比,这是语言级别的事情,而不是文件级别的事情。include方法是使用其他模块(通常称为混合)“扩展”类的主要方法。例如,如果您的类定义了方法“ each”,则可以包括mixin模块Enumerable,并且它可以充当集合。由于include动词在其他语言中的用法非常不同,因此可能会造成混淆。资源因此,如果您只想使用模块,而不是扩展它或进行混入,那么您将要使用require。奇怪的是,Ruby的require类似于C中的include,而Ruby的include是几乎没有像C的include。

当年话下

从元编程Ruby书中,该require()方法与十分相似load(),但是其目的不同。您用于load()执行代码,并 require()用于导入库。

炎炎设计

如果使用模块,则意味着将所有方法都带入类中。如果您extend使用带有模块的类,则意味着您将“引入”模块的方法作为类方法。如果您include使用模块类,则意味着您将“引入”模块的方法作为实例方法。EX: module A   def say     puts "this is module A"   end end class B   include A end class C   extend A endB.say => B:Class的未定义方法“ say”B.new.say =>这是模块AC.say =>这是模块AC.new.say => C:Class的未定义方法“ say”
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby