load和require之间有没有主要差异(在Ruby on Rails应用中)?或者他们都有相同的功能?
发布于 2018-03-26 13:06:57
require
在所有已定义的搜索路径中搜索库,并将.rb或.so添加到您输入的文件名中。它还确保库只包含一次。因此,如果应用程序需要库A和B以及库B请求库A,则A只会加载一次。
但是load
需要添加库的全名,它被载入每次调用load
,即使它已经是在内存中。
发布于 2018-03-26 14:11:23
另一个区别Kernel#require
和Kernel#load
是Kernel#load
需要,允许你所装载的代码包装成一个匿名空模块的可选的第二个参数。
首先,load
编辑代码很容易脱离模块,只需访问全局命名空间,即他们仍然可以修改类似的内容class ::String; def foo; end end
。
https://stackoverflow.com/questions/-100003694
复制相似问题