差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
programming:nim:parse_parameter [2018/10/23] ikatakosprogramming:nim:parse_parameter [2018/10/23] ikatakos
行 4: 行 4:
  
 それらを受け取るプログラムを書く際、最近の言語なら、いずれも解析ライブラリが存在している。Nimもご多分に漏れずデフォルトでモジュールが存在する。 それらを受け取るプログラムを書く際、最近の言語なら、いずれも解析ライブラリが存在している。Nimもご多分に漏れずデフォルトでモジュールが存在する。
 +
 +  * Nim ver.0.19.0
  
 =====コマンドライン引数解析===== =====コマンドライン引数解析=====
行 74: 行 76:
   * [[https://github.com/docopt/docopt.nim|docopt/docopt.nim: Command line arguments parser that will make you smile (port of docopt to Nim)]]   * [[https://github.com/docopt/docopt.nim|docopt/docopt.nim: Command line arguments parser that will make you smile (port of docopt to Nim)]]
  
-こちらは第三者モジュールだが、docoptのNim移植版が存在する。+こちらは第三者モジュールで本家はPythonだが、Nim移植版が存在する。
  
 docoptは「所定のルールに従ったヘルプ文字列を与えることで、パーサを組み立てる」という逆転の発想のライブラリ。 docoptは「所定のルールに従ったヘルプ文字列を与えることで、パーサを組み立てる」という逆転の発想のライブラリ。
  
 +より複雑なルールを持ったパーサを、直感的にわかりやすい記法で作成できるので、標準モジュールのparseopt以上のことがしたくなったらこちらが楽。
 +
 +  * [[https://qiita.com/ymdymd/items/651245d80964393b12c5|Pythonのdocopt使い方メモ - Qiita]]
  
  
行 103: 行 108:
  
 変数は使えない模様。 変数は使えない模様。
 +
 +また、Windowsのパス区切り文字である「:」はキーと値の区切り文字として解釈されバグる恐れがあるため、''""''でくくる必要がある。
 +
 +さらに「\」はエスケープ文字として扱われるため、''r"string"''でエスケープ無効とするか、''\\''と2つ重ねる必要がある。
 +
 +.ini記法のパーサは様々な言語に存在しても、この辺の細かな文字列の解釈の違いは言語毎に異なるため、ややこしいね。
 +
 +
  
programming/nim/parse_parameter.txt · 最終更新: 2018/10/24 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0