-
Notifications
You must be signed in to change notification settings - Fork 312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
onメソッドのショートオプションが引数を取る場合について #2638
Comments
自分が試したところ、直後につけるのは":"に限らず、何の文字を書いても、引数が必要な形になるように思いました。 require 'optparse'
opt = OptionParser.new
opt.on('-a&') {|v| p v }
opt.parse!(ARGV)
p ARGV
p OptParse::Version #=> "0.1.0" |
ありがとうございます。また、検証不足で申し訳ありません。 opt.on('-a') {|v| p v } # 引数を取らない
# 以下、全て引数を取る
opt.on('-a MANDATORY') {|v| p v } # リファレンスに載っている例
opt.on('-a&') {|v| p v } #記号やアルファベットなど任意の1文字
opt.on('-aaaaahoge') {|v| p v } #任意の文字列
opt.on('-a ') {|v| p v } # スペース1つのみでも同様 改めてリファレンス確認したところ、以下のoptparseライブラリページに該当していると思われる記述がございました。
「何か」なので、":"に限らず任意の文字(文字列)でもスペース1つでも良いということですね。 |
onメソッド自体の説明で、半角スペース等をあける必要がなく何の文字でもいいことを厳密に説明されてた方がいいのかもしれないですね |
ありがとうございます、確かに、現状の library optparseの「オプションの引数」 の後半で「ヘルプの見栄えが良くなるように書く」という説明もありますので、「なんの文字でも良いけど、ヘルプの見栄えが良くなるように"半角スペース+わかりやすい文字列"にするのが望ましい」、ということではあると思いますが、そのことも含めて、別ページの instance method OptionParser#on の方と記述内容が揃っているとわかりやすいかもしれないと思いました。 |
https://docs.ruby-lang.org/ja/latest/method/OptionParser/i/on.html
とありますが、
on("-x:"){|val| ...}
のように直後に ":" を付ける形でも引数を取れるようです。(ショートオプションのみ)例えば以下のように ":" に関する言及も付けてはいかがでしょうか?
尚、上記の追記箇所は下記のgetopsメソッドでの書き方も参考にしました。
https://docs.ruby-lang.org/ja/latest/method/OptionParser=3a=3aArguable/i/getopts.html
The text was updated successfully, but these errors were encountered: