我看到了两种常用的技术,用于将当前正在执行的文件的目录添加到$LOAD_路径(或$:).我看到了这样做的好处,以防你不使用Ruby .很明显,其中一个似乎比另一个更冗长,但有理由 Select 其中一个而不是另一个吗?

第一种是冗长的方法(可能有些过分):

$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unless $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))

更直接、更快速、更肮脏:

$:.unshift File.dirname(__FILE__)

有什么理由 Select 一个而不是另一个吗?

推荐答案

我会 Select $:.unshift File.dirname(__FILE__)而不是另一个,只是因为我看到它在代码中的使用比$LOAD_PATH要多,而且它也更短!

Ruby相关问答推荐

如何根据数组键对散列键进行排序?

如何在将拆分元素保留为空字符串的同时拆分字符串?

Kernel#gets try 读取文件而不是标准输入

需要Ruby

在 ruby​​ 中调试第三方 gem 的最佳方法

判断 Ruby Gem 的可用性

如何将 each每个方法添加到 Ruby 对象(或者我应该扩展 Array)?

如何判断 Capistrano 中是否存在文件(在远程服务器上)?

Ruby 中的发送方法

来自 Linux 上的命令队列的并行处理(bash、python、ruby ......随便)

是否有等效于 `Array::sample` 的哈希值?

有没有办法从该实例内部为 Ruby 类的实例创建方法?

rspec 是否有比 target.should < 6 更具体的东西?

如何在 Ruby 符号中转义破折号-?

如何在 jekyll markdown 博客中包含视频

Integer 和 Fixnum 有什么区别?

*nix 是什么意思?

Ruby 是否有像栈、队列、链表、映射或集合这样的容器?

Ruby:如何为数组和哈希制作 IRB 打印 struct

如何使用 Ruby-Rails 删除文件夹的所有内容?