差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
programming:rust:crate:getopts [2019/04/04] – 作成 ikatakos | programming:rust:crate:getopts [2019/04/07] – ikatakos | ||
---|---|---|---|
行 6: | 行 6: | ||
* [[https:// | * [[https:// | ||
- | Pythonのargparseと同じような使用感だが、機能的にはシンプルで複雑なことは出来ない。 | + | Pythonのargparseと同じような使用感。 |
+ | Optionsオブジェクトにパースしたいキーワードをどんどん設定して、最後に '' | ||
+ | 返値のオブジェクトであるMatchesから、必要な情報を取得する。 | ||
+ | |||
+ | 機能的には過不足ないが、「2つの内いずれかは必須」などちょっと複雑なことは出来ない。 | ||
* 位置引数、キーワード引数、フラグ引数に対応 | * 位置引数、キーワード引数、フラグ引数に対応 | ||
行 12: | 行 16: | ||
* 何番目の引数かによって指定 | * 何番目の引数かによって指定 | ||
* 絶対的な位置ではなく、キーワード引数とフラグ引数以外の引数を順に取得 | * 絶対的な位置ではなく、キーワード引数とフラグ引数以外の引数を順に取得 | ||
+ | * 「最初の位置引数が現れたら、後はハイフン付いていようと全て位置引数」と解釈するオプションが存在 | ||
* キーワード引数 | * キーワード引数 | ||
* ハイフンから始まる所定のキーワードに続けて指定 | * ハイフンから始まる所定のキーワードに続けて指定 | ||
- | | + | |
+ | * ×: '' | ||
* 可変長引数は未対応だが、同じキーワードで複数回指定されたのを配列として受け取ることはできる | * 可変長引数は未対応だが、同じキーワードで複数回指定されたのを配列として受け取ることはできる | ||
* ×: '' | * ×: '' | ||
* ○: '' | * ○: '' | ||
* 「'' | * 「'' | ||
- | * 指定されなかった場合のデフォルト値には未対応 | + | * 指定されなかった場合のデフォルト値を指定可能 |
+ | * '' | ||
* フラグ引数 | * フラグ引数 | ||
- | * '' | + | * '' |
* ヘルプ用文字列の自動生成可 | * ヘルプ用文字列の自動生成可 | ||
行 31: | 行 38: | ||
=====Sample===== | =====Sample===== | ||
- | < | + | < |
extern crate getopts; | extern crate getopts; | ||