ruby - 在 Ruby 中将目录添加到加载路径的末尾?

标签 ruby linux bash shell

我看到的关于在 Ruby 中将目录添加到加载路径的大多数答案都围绕着使用 unshift,例如:

$:.unshift File.dirname(__FILE__)

你不能用 push 代替吗?在将目录添加到加载路径时,大多数示例是否故意使用 unshift 而不是 push

最佳答案

您可以使用其中任何一个,但它们是按顺序检查的。 unshift 将其置于最高优先级,push 将其置于最低。

通常这无关紧要,您通常不会有重复的模块名称,但是如果您想要覆盖某些内容,您需要让您的路径早于其他路径。这使得 unshift 更受欢迎。

需要注意的一件事是,通常使用 $LOAD_PATH 而不是 $: 会更好,这样您正在做的事情就更清楚了。除非您是 Perl 老手,否则您可能根本不知道 $: 是什么,即使那样还有 a bunch of those variables that are very similar。 .

关于ruby - 在 Ruby 中将目录添加到加载路径的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42497661/

相关文章:

ctrl+c 不与 C 中的 SIGINT 关联

linux - 生成 Linux 内核 .config 文件使源文件夹变得不干净

bash - Bad Substitution - 其他变量名称中的变量名称 - 在 Bash 中

sql - Rails ActiveRecord 多个 WHERE 语句

ruby-on-rails - Resque multiple workers in development 模式

java - Ruby 是按值传递还是按引用传递?

linux - 如何查看redhat环境下运行的jboss?

ruby - 创建 Ruby gem 的规范机制是什么?

arrays - 用 bash 替换数组中的字符串

bash - 在 heredoc 部分设置变量