コマンドライン引数を(特に違いがあればGNUで)得る方法は?Common Lisp?Common Lispでコマンドライン引数を取得する
答えて
私はあなたがCLispでスクリプトを作成していると仮定しています。あなたはCLISPやGCLについて話していることが
$ ./<filename>
NIL
$ ./<filename> a b c
("a" "b" "c")
$ ./<filename> "a b c" 1 2 3
("a b c" "1" "2" "3")
http://cl-cookbook.sourceforge.net/os.htmlは、いくつかの洞察
(defun my-command-line()
(or
#+CLISP *args*
#+SBCL *posix-argv*
#+LISPWORKS system:*line-arguments-list*
#+CMU extensions:*command-line-words*
nil))
は、あなたが探しているものです提供し、私は思います。
(またはFOO nil)はFOOと同等ですが、そうではありませんか? –
はい、あなたのFOOを条件付きで読むと、おそらく、フォールバックを持つのがよいでしょう。しかし、(あるいは)の価値は、まったく驚くべきことではない(NILの価値がTと同じように)。 – Vatine
を与えて実行
$ chmod 755 <filename>
を実行して、それが実行してください
#! /usr/local/bin/clisp
(format t "~&~S~&" *args*)
を含むファイルを作成することができますか? GCLのように、コマンドライン引数はsi::*command-args*
に渡されます。
SBCLでは、sb-ext:* posix-argv *を使用して、共通のlispスクリプトからargvを取得できます。 sb-ext:* posix-argv *はすべての引数を保持するリストで、最初のargはスクリプトfilnameです。
これはもううまくいきません。 "シンボル" POSIX-ARGV "がSB-EXTパッケージに見つかりません。 ' – Langston
はsb-ext:* posix-argv *でなければなりません。古いテキストでは、スタイルとして働く\ * something \ *です。 –
https://stackoverflow.com/a/1021843/31615のように、各実装には独自のメカニズムがあります。これを処理する通常の方法は、統一されたインターフェースを提供するラッパー・ライブラリーを使用することです。
このようなライブラリは、物を読むだけでなく、それらを変換して、有用な出力をユーザに与えるさらなる支援を提供することができる。完全なパッケージはCLON(CLONまたはCLONと混同しないでください)、Command Line Options Nukerです。しかし、あなたのニーズがより軽い場合は、例えばcommand-line-argumentsとapply-argvのようなものがあります。
これらのquicklispのパッケージは、それぞれnet.didierverna.clon
,command-line-arguments
、およびapply-argv
という名前です。
- 1. Common Lisp Unbound変数
- 2. Common Lispの "functorの不正な引数"とは何ですか?
- 3. common lisp - ファイルへのパスを取得する
- 4. Common Lispで二重引用符をエスケープする
- 5. Common Lispのクラスイントロスペクション
- 6. Common Lisp用ベクターグラフィックスライブラリ
- 7. WPFアプリケーションでコマンドライン引数を取得する方法は?
- 8. Common Lispで型を削除する
- 9. Common Lispで&restパラメータを展開する
- 10. Common Lispでリーダーマクロを管理する
- 11. Common Lisp並列プログラミング
- 12. Common Lispグラフィカルユーザインタフェース開発
- 13. Common Lisp vs. MacLisp/InterLisp
- 14. Common Lispでの循環リスト
- 15. Common Lispの効率的なcollect関数
- 16. ソースコードlisp(Common Lisp、Scheme、Clojure)の美人
- 17. Common Lispでリストの最初のn個の要素を取得しますか?
- 18. アドオンからIE8コマンドライン引数を取得する方法
- 19. Windowsの別のプロセスのコマンドライン引数を取得する
- 20. コロン構文、Common Lispの変数の前にコロンは、何を意味しているCommon Lispの
- 21. Common Lispのパッケージ定義
- 22. Common LispのWeb開発
- 23. Common Lispの統計パッケージ
- 24. Common LispのRepresentational State Transfer(REST)
- 25. Common Lisp CFFI:ポインタへのポインタ
- 26. Common Lisp用のレクサーとパーサージェネレータ
- 27. Common Lisp:ディレクトリの作成
- 28. Common Lispの豊富なプログラミング?
- 29. Common Lispでlambdaの名前を変更
- 30. Processオブジェクトの「コマンドライン」と引数を取得しますか?
この投稿のリンクはもはや実行可能ではありません。 :( – masukomi
これは超クールですが、私はどのように文字列からデータを作ることができますか?私の関数はこのような入力(一意の(abccdddef))に使用され、文字列では機能しません: # 'make-symbol * args *)しかし、それは仕事をしていないようです –