プログラムとして動作させるには引数を処理できる必要がある。
引数は *posix-argv* に格納されているようだ。
-------------------------------------------
[root@centos55 src]# sbcl
This is SBCL 1.0.40, an implementation of ANSI Common Lisp.
More information about SBCL is available at
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* *posix-argv*
("sbcl")
* (quit)
[root@centos55 src]# sbcl a b c
This is SBCL 1.0.40, an implementation of ANSI Common Lisp.
More information about SBCL is available at
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* *posix-argv*
("sbcl" "a" "b" "c")
*
* (quit)
-------------------------------------------
こんな感じで引数をリストとして取得できるようだ。
次に、コマンドラインからclを実行した場合、
vi test1.lisp
------------------
(format t "~{~a~%~}" *posix-argv*)
------------------
[root@centos55 src]# sbcl --script test1.lisp
sbcl
おや?--script と test1.lisp というのを引数として認識していないようだ。
[root@centos55 src]# sbcl --script test1.lisp a b c d
sbcl
a
b
c
d
ちょっと動作に癖があるようだ。使用時には注意。
0 件のコメント:
コメントを投稿