2016-11-09 66 views
1

所以我想這是有關我的最後question,但我想知道是否有方法通過使用命令行選項調用方法。說你有這樣的方法:使用命令行選項來調用方法

def b 
puts "Hello brian" 
end 

有寫東西像這樣的方式:

ruby mine.rb -b 

,並得到這個

Hello brian 

我已經嘗試過尋找這個在線發現了OptionParser,但我還沒有發現任何涉及調用以前創建的方法的OptionParser。

回答

1

有很多方法可以做到這一點,這取決於用例。以下代碼取自Ruby docs並添加了額外的方法。

實際上,您可能需要一個處理不同選項並封裝方法而不是將它們放在文件範圍的類。

#!/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 

我也是那個會自動調用紅寶石頂部增加了一個家當。只要腳本文件是可執行的,您可以直接調用它(例如,./mine.rb -b)。

+0

哦,我明白了!非常感謝! – yukimoda