加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 22:54:37 所属栏目:百科 来源:网络整理
导读:我不明白导入库或模块的三种方法之间的区别.正如我目前所理解的那样, load 'file.rb' 将外部文件的内容导入当前文件,而: require 'file.rb' 将执行相同的功能,但不会导入已导入的文件. require_relative 'file.rb' 类似于require,但它将加载仅在当前目录中
我不明白导入库或模块的三种方法之间的区别.正如我目前所理解的那样,
load 'file.rb'

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

require 'file.rb'

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

require_relative 'file.rb'

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

解决方法

无论是否已导入文件,都要在导入文件时使用加载.当您只想导入文件时,才使用require或require_relative.

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

虽然require只能处理相对于$:的路径,但require_relative也是一个可以处理相对于当前目录的路径的扩展. require_relative是require的超集,并且require可以被分配(尽管require_relative是使用require编写的,因此如果需要分配则必须重写).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读