Subsections

その他の機能

Argument Parser




argument-parser [クラス]


  :super   propertied-object 

:slots flaglst docstring parsed-p


コマンドライン引数のパーサを定義する。


:init &key prog description epilog (add-help t) [メソッド]

プログラム名,自動生成されるヘルプテキストの前後に表示するテキストから, オブジェクトを生成する。


:add-argument flags &key (action :store) const default choices check read required help dest [メソッド]

コマンドライン引数を定義する。

flag"-foo""-b" の引数オプションを定義する。 引数は'("-bar" "-b")等のリストで与えることも可能である。

action はプログラムに引数が渡されたときの挙動を指定する。 現在サポートされているaction:store, :store-true, :store-false, :store-const, :append, そしてカスタム関数である。 help はヘルプドキュメントを指定する。 ほとんどのパラメータはhttps://docs.python.org/3/library/argparse.htmlに習って設計されている。



:parse-args [メソッド]

lisp::*eustop-argument* を用いてコマンドライン引数をパースする。 このメソッドはargument-parser インスタンスに引数オプション名メ ソッドを与える前に呼ばなければならない。


argument-parserのサンプルプログラムを以下に示す。

(require :argparse "argparse.l")

(defvar argparse (instance argparse:argument-parser :init
                           :description "Program Description (optional)"))
(send argparse :add-argument "--foo" :default 10 :read t
      :help "the foo description")
(send argparse :add-argument '("--bar" "-b") :action :store-true
      :help "the bar description")

(send argparse :parse-args)
(format t "foo: ~A~%" (send argparse :foo))
(format t "bar: ~A~%" (send argparse :bar))
(exit)

このサンプルプログラムを実行したときの出力は以下のようになる。

$ eus argparse-example.l
foo: 10
bar: t
$ eus argparse-example.l --foo=100 --bar
foo: 100
bar: t
$ eus argparse-example.l -h
usage: [-h] [--foo=FOO] [-b]

Program Description (optional)

optional arguments:
  -h, --help	show this help message and exit
  --foo=FOO	the foo description (default: 10)
  -b, --bar	the bar description



This document was generated using the LaTeX2HTML translator on Sat Feb 5 14:36:44 JST 2022 from EusLisp version 138fb6ee Merge pull request #482 from k-okada/apply_dfsg_patch