所以只是为了完美清楚...... Ruby无法处理
require 'filename'
表示同一目录中的文件。
*无论脚本执行的位置如何。
**但即使是从同一地点执行。
我对编程很新,但是......我必须在这里遗漏一些东西。 安全风险 尽管
Rails对它自己的负载路径情况很满意,所以一切都很好用。 但是,只要我想在其中一个文件上运行脚本“ruby说不”。
有人可以帮帮我吗?谢谢@pcm(写评论太多了)
在新手游戏中确信这是一个低绊网。
好。 Lesseons学到了。
不要与铁道战斗:只是允许你的测试抓住任何玩弄棘手的重构。是的...... Newbs,只是直接在测试生态系统中消除痛苦。
require './filename'
仅在$ ruby script.rb与require ./filename文件所在的目录中运行时才有效。这是因为,这些文件中的一个可能需要打开一些其他文件进行读取/编辑/预处理等,例如
File.open("./file.txt").readlines.each do |line|
现在,即使两个文件位于同一位置“我认为”,也会使用调用脚本的位置来打开它,即
$ruby path/to/file.rb
所以抛出扳手。
但是。如果有人能借这些经验吗?就这样,我知道我是否真的疯了。如果没有指定文件路径,我原本期望任何编译器/解释器期望文件在文件的目录/位置调用/使用/访问它?
答案 0 :(得分:1)
您需要在文件名前添加一个点和斜杠才能要求同一目录中的文件。
require './filename'
require关键字不知道当前工作目录,需要点和正斜杠。 require_relative没有相同的限制。