这是main.rb
:
(1..10).each{|x|
require_relative 'script.rb'
}
这是script.rb
,它位于同一目录中:
p "HELLO WORLD"
当我运行main.rb
时,它只打印一次“HELLO WORLD”。
为什么呢?如何让它为loop passthru打印一次?
答案 0 :(得分:3)
load
允许重新加载,require
和require_relative
不允许:
(1..10).each{|x|
load 'script.rb'
}
答案 1 :(得分:3)
将您要运行的代码移至main.rb
或在script.rb
内定义方法,以便您可以从main.rb
调用该方法。
更多详情:How to reference a method in another Ruby code file?
在此方案中不使用load
的原因:When to use `require`, `load` or `autoload` in Ruby?