当前位置:  开发笔记 > 编程语言 > 正文

理解`load`,`require`和`require_relative`之间的区别

如何解决《理解`load`,`require`和`require_relative`之间的区别》经验,为你挑选了1个好方法。

我不明白导入库或模块的三种方法之间的区别.正如我目前所理解的那样,

load 'file.rb'

将外部文件的内容导入当前文件,而:

require 'file.rb'

将执行相同的功能,但不会导入已导入的文件.

require_relative 'file.rb'

类似于require,但它将加载仅在当前目录中的文件,而require将使用搜索路径$:来查找文件.我毫不怀疑我对这三种机制的理解是有缺陷的.有人可以提供一些澄清吗?



1> sawa..:

load当您要导入文件时使用,无论它是否已导入.requirerequire_relative仅在您尚未导入文件时使用.

由此可见,当导入的文件是分析对象(数据文件)时使用前者,而后者用于提供程序中使用的一些功能(程序,库,框架的一部分).

虽然require只能处理相对于的路径$:,但它require_relative是一个可以处理相对于当前目录的路径的扩展.require_relative是一个超集require,require可以分发(虽然require_relative是使用require,所以如果require要分配它必须重写).

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有