bash
1~$ uname -a 2CYGWIN_NT-6.1 JPC20316739 2.10.0(0.325/5/3) 2018-02-02 15:16 x86_64 3Cygwin 4~$ ruby --version 5ruby 2.3.6p384 (2017-12-14 revision 9808) [x86_64-cygwin] 6last_commit=ruby 2.3.3
の環境で、
optparse ライブラリの help
https://docs.ruby-lang.org/ja/2.3.0/library/optparse.html#help
「OptionParser#on の引数にそのオプションの説明を加えると --help の 出力に反映されます。」 の部分で、
説明を複数行に渡って表示させる際、ソースのコメント(*)部分のようにすれば、
前の行の説明文の開始位置と改行後の説明文の開始位置が一致するのですが、
もっとスマートな記述が出来ないものでしょうか?
なにかよい方法があれば、ご教示お願いします。
[ソース]
bash
1~$ cat optparse.rb 2#! /usr/bin/env ruby 3 4# coding: utf-8 5require 'optparse' 6opt = OptionParser.new 7 8help_d = <<'HELP_D' 9bar 10hoge 11HELP_D 12 13opt.on('-a','foo') {|v| v } 14opt.on('-b',"bar\nhoge") {|v| v } # 2行目の説明文が行頭からになる fail 15opt.on('-c',\ 16"bar 17 hoge") {|v| v } # (*) 2行目の説明文が、1行目の説明文の開始位置と合うが… 18opt.parse(ARGV)
[実行結果]
~$ ./optparse.rb --help Usage: optparse [options] -a foo -b bar hoge -c bar hoge
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/03 14:06