ユーザーが 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 など、コンパイルされた言語でのソリューションを探していることが望ましいです。