我有一个程序test.rb
,我希望能够将参数传递给程序,就像你可以在 C 语言中做的那样。例如:
ruby test.rb param1
有没有办法我可以做到这一点?
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)开关的选项,以及接受输入和可选开关