使用 load 命令在 Rails 控制台中调用脚本时传递参数

Sna*_*058 2 ruby command ruby-on-rails command-line-arguments rails-console

我知道如何使用 ARGV 数组访问命令参数,但我遇到了问题。我有一个无法独立运行的脚本,需要在 Rails 控制台中运行。有没有办法在调用文件时传递参数?

load '/tmp/test.rb'
Run Code Online (Sandbox Code Playgroud)

我尝试将其放在引号内,放在引号外,一时兴起尝试<但无济于事。

感谢您提供任何帮助!

Max*_*kov 5

这是肮脏的黑客,但似乎您可以将数组分配给 ARGV 并根据您的需要从加载的脚本中使用它:

$  Temp  cat argv.rb
p ARGV
$  Temp  irb
2.1.0 :001 > ARGV
 => []
2.1.0 :002 > load 'argv.rb'
[]
 => true
2.1.0 :003 > ARGV = ['A', 'B']
(irb):3: warning: already initialized constant ARGV
 => ["A", "B"]
2.1.0 :004 > load 'argv.rb'
["A", "B"]
 => true
2.1.0 :005 >
Run Code Online (Sandbox Code Playgroud)