所以我想这与我的最后一个问题有关,但我想知道是否有办法通过使用命令行选项来调用方法。假设您有这样的方法:
def b
puts "Hello brian"
end
有没有办法写这样的东西:
ruby mine.rb -b
得到这个
Hello brian
我已经尝试在网上寻找这个并发现了 OptionParser 但我还没有发现任何涉及调用先前创建的方法的 OptionParser 的东西。
所以我想这与我的最后一个问题有关,但我想知道是否有办法通过使用命令行选项来调用方法。假设您有这样的方法:
def b
puts "Hello brian"
end
有没有办法写这样的东西:
ruby mine.rb -b
得到这个
Hello brian
我已经尝试在网上寻找这个并发现了 OptionParser 但我还没有发现任何涉及调用先前创建的方法的 OptionParser 的东西。
有很多方法可以做到这一点,具体取决于用例。下面的代码取自 Ruby文档,并添加了额外的方法。
实际上,您可能需要一个处理不同选项并封装方法的类,而不是将它们放在文件范围内。
#!/usr/bin/env ruby
require 'optparse'
options = {}
OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"
opts.on("-b", "Run method 'b'") do |v|
options[:b] = true
end
end.parse!
def b
puts "Hello Brian"
end
if options[:b]
b
end
我还在顶部添加了一个会自动调用 ruby 的 shebang。只要您的脚本文件是可执行的,您就可以直接调用它(即。./mine.rb -b
)。