ユーザーが docopt 文字列を提供するユース ケースがあり、それに基づいてコードを生成します。そのため、docopt 文字列が前もってわかりません。
特定の「引数の型」(データ型ではない) について、さまざまなコードを生成したいと考えています。
以下では、「型」と「データ型」を区別します。docopt 引数--arg=DEGREES
と argv 入力--arg=10
の「タイプ」--arg
はDEGREES
であり、データ型はinteger
です。値は10
です。
ユーザーから次の docopt 文字列が返されることがあります。
Naval Fate.
Usage:
naval_fate --dir=FILE [--speed=ABC]
Options:
--dir=FILE Moored (anchored) mine.
--speed=ABC Speed in knots [default: 10].
いつものようにこの docopt 文字列を解析するだけでなく、引数の「タイプ」dir
とspeed
要求を把握しようとしています。dir
それが typeFILE
でspeed
あり、 type であることを知りたいですABC
。
例:
上記の docopt 文字列と argv 文字列が与えられた場合、値とデータ型 ( ) だけでなく、「構成タイプ」 ( 、つまり次の行に沿ったもの) にもnaval_fate --dir=/tmp --speed 1234
アクセスしたいと考えています。<key> => <value,datatype>
<key> => <value,datatype,argtype>
dir
=> 値: /tmp
、データ型: String
、型:FILE
speed
=> 値: 1234
、データ型: Integer
、型:ABC
docopt の任意の (管理された) 実装は、Python を含めて受け入れられますが、C、Go、Rust など、コンパイルされた言語でのソリューションを探していることが望ましいです。