介紹一下 Ruby 的標準庫(Standard Library):OptionParser。
TIP: 有些標準庫也要
require
之後才能用,這個便是。
OptionParser 是用來打造 CLI 工具(腳本)的標準庫,看簡單的例子便知如何用:
$ touch optioner
$ chmod +x optioner
chmod +x optioner
賦予optioner
這個腳本執行權限。
#!/usr/bin/env ruby
# Exit cleanly from an early interrupt
Signal.trap("INT") { abort }
require 'optparse'
require 'ostruct'
options = OpenStruct.new
OptionParser.new do |opts|
opts.banner = "Lazy man's git tool."
opts.on('-m', '--message MESSAGE', 'Set Commit Message') do |v|
options.message = v
end
opts.on('-r', '--remote REMOTE', 'Set Push Remote') do |v|
options.remote = v
end
end.parse!
p options
-
Signal.trap("INT") { abort }
這行是讓輸入
./optioner
,馬上狂按CTRL-C
的人能優雅的退出。 -
這裡使用了
OpenStruct
,其實用 Hash 也可以,OpenStruct
方便取值而已。 -
#banner
是這個腳本的說明文字。 -
#on
的第二個參數如需要獲得傳入的值,不可以只寫
'--remote'
,這樣會被當做開關來對待(只有true
與false
)。 -
#on
的第三個參數這個選項的說明文字。
-
p options
=puts options.inspect