-2

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

ruby test.rb  param1

有没有办法我可以做到这一点?

4

2 回答 2

2

使用 ARGV

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

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

另见ARGF#argv

于 2013-09-12T06:59:22.853 回答
0

Ruby 包含一个处理命令行选项的库: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)开关的选项,以及接受输入和可选开关

于 2013-09-12T06:47:25.413 回答