将参数传递给Ruby文件调用

时间:2013-09-12 06:46:04

标签: ruby

我有一个程序test.rb我希望能够将参数传递给程序,就像你可以用C语言做的那样。例如:

ruby test.rb  param1

我有办法做到这一点吗?

2 个答案:

答案 0 :(得分:2)

使用ARGV

特殊ARGV数组包含传递给Ruby脚本的参数。例如:

$ ruby -e 'puts ARGV.inspect' param1
["param1"]

另见ARGF#argv

答案 1 :(得分:0)

Ruby包含一个lib来处理命令行选项:Options Parser

http://ruby-doc.org/stdlib-2.0.0/libdoc/optparse/rdoc/OptionParser.html

一个简单的ruby程序示例:

require 'optparse'

# create hash to hold program options
program_options = {}

# Parse the options passed into via command line
OptionParser.new do |opts|
  opts.banner = "Usage: example.rb [options]"

  opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
    options[:verbose] = v
  end
end.parse!

# Run Program Code
# ...
# your program will have access to the program_options hash

然后使用ruby example.rb -v

运行程序

opts.on有很多选项可用于检测长(即--verbose)和短(即-v)开关,以及接受输入和可选开关