差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
programming:rust:crate:getopts [2019/04/05] – [getopts - Rust] ikatakosprogramming:rust:crate:getopts [2019/04/07] ikatakos
行 6: 行 6:
   * [[https://docs.rs/crate/getopts/|getopts 0.2.18 - Docs.rs]]   * [[https://docs.rs/crate/getopts/|getopts 0.2.18 - Docs.rs]]
  
-Pythonのargparseと同じような使用感だが、機能的にはシンプルで複雑なことは出来ない。+Pythonのargparseと同じような使用感。 
 +Optionsオブジェクトにパースしたいキーワードをどんどん設定して最後に ''Options.parse()'' で解析する。 
 +返値のオブジェクトであるMatchesから、必要な情報を取得する。 
 + 
 +機能的には過不足ないが、「2つの内いずれかは必須」などちょっと複雑なことは出来ない。
  
   * 位置引数、キーワード引数、フラグ引数に対応   * 位置引数、キーワード引数、フラグ引数に対応
行 12: 行 16:
     * 何番目の引数かによって指定     * 何番目の引数かによって指定
     * 絶対的な位置ではなく、キーワード引数とフラグ引数以外の引数を順に取得     * 絶対的な位置ではなく、キーワード引数とフラグ引数以外の引数を順に取得
 +    * 「最初の位置引数が現れたら、後はハイフン付いていようと全て位置引数」と解釈するオプションが存在
   * キーワード引数   * キーワード引数
     * ハイフンから始まる所定のキーワードに続けて指定     * ハイフンから始まる所定のキーワードに続けて指定
-    * ''-o XXX-oXXX'' の指定に対応、''-o=XXX'' は不可+      ○: ''-o XXX'' or ''-oXXX'' or ''--opt XXX'' 
 +      * ×: ''-o=XXX''
     * 可変長引数は未対応だが、同じキーワードで複数回指定されたのを配列として受け取ることはできる     * 可変長引数は未対応だが、同じキーワードで複数回指定されたのを配列として受け取ることはできる
       * ×: ''-o XXX YYY ZZZ''       * ×: ''-o XXX YYY ZZZ''
       * ○: ''-o XXX -o YYY -o ZZZ''       * ○: ''-o XXX -o YYY -o ZZZ''
     * 「''-a'' と ''-b'' を同時に指定することは出来ない」「''-a'' を指定したら ''-b'' も指定しないといけない」などは未対応     * 「''-a'' と ''-b'' を同時に指定することは出来ない」「''-a'' を指定したら ''-b'' も指定しないといけない」などは未対応
-    * 指定されなかった場合のデフォルト値は対応+    * 指定されなかった場合のデフォルト値を指定可能 
 +    * ''FromStr'' traitを実装している型なら、パースして返すことが可能
   * フラグ引数   * フラグ引数
-    * ''-f'' など単独でフラグとして指定+    * ''-f'' ''--flag'' など単独でフラグとして指定
   * ヘルプ用文字列の自動生成可   * ヘルプ用文字列の自動生成可
  
行 31: 行 38:
 =====Sample===== =====Sample=====
  
-<sxh rust>+<sxh kotlin;title:getopts_sample.rs>
 extern crate getopts; extern crate getopts;
  
programming/rust/crate/getopts.txt · 最終更新: 2019/04/19 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0