Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix SBCL从命令行传递参数_Unix_Common Lisp_Sbcl - Fatal编程技术网

Unix SBCL从命令行传递参数

Unix SBCL从命令行传递参数,unix,common-lisp,sbcl,Unix,Common Lisp,Sbcl,在bash中,如果我执行“foo.shx”,那么可以通过调用$1在bash中使用x 如果我想对lisp执行相同的操作,“script.lisp x”我可以使用/call将x作为参数而不是$1 范例 #!/usr/local/bin/sbcl --script (if (eql intp $1) (+ $1 $1) (format t "~&not a valid int"))) 这个问题的答案取决于特定的Lisp实现。对于SBCL,如中所示,变量sb ext:*posix

在bash中,如果我执行“foo.shx”,那么可以通过调用$1在bash中使用x

如果我想对lisp执行相同的操作,“script.lisp x”我可以使用/call将x作为参数而不是$1

范例

#!/usr/local/bin/sbcl --script
(if (eql intp $1)
   (+ $1 $1)
   (format t "~&not a valid int")))

这个问题的答案取决于特定的Lisp实现。对于SBCL,如中所示,变量
sb ext:*posix argv*
包含命令行。因此,例如
(nth1sbext:*posix argv*)
将为您提供第一个参数。

这个问题的答案取决于您特定的Lisp实现。对于SBCL,如中所示,变量
sb ext:*posix argv*
包含命令行。因此,例如
(nth 1 sb ext:*posix argv*)
将为您提供第一个参数。

对于更便携的内容,检查此答案可能会有帮助,对于更便携的内容,检查此答案可能会有帮助