ruby-on-rails - 使用加载命令在 Rails 控制台中调用脚本时传递参数

标签 ruby-on-rails ruby command command-line-arguments rails-console

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

load '/tmp/test.rb'

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

感谢您提供的任何帮助!

最佳答案

这是肮脏的 hack,但似乎您可以将数组分配给 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 >

关于ruby-on-rails - 使用加载命令在 Rails 控制台中调用脚本时传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28748977/

相关文章:

php - apache webserver 已经在 centos xampp 中运行

监视文件夹中是否有新文件的 Shell 脚本

linux - 如何合并文件中的特定列?

ruby-on-rails - 不理解类、模块和类 << self 方法

ruby-on-rails - 在 Linux 上,如何解决 WARNING : Nokogiri was built against LibXML version 2. 8.0,但已动态加载 2.9.0?

ruby-on-rails - Redis 重新连接失败 - Action Cable

ruby-on-rails - rails 目前在重启后没有安装

ruby - 在 Ruby 中使用 Chipmunk 和 Gosu 绘制多边形

ruby-on-rails - 单个 ActiveRecord 模型背后的多个表

ruby - 记录 shell 命令的所有输出