Unix SBCL从命令行传递参数
在bash中,如果我执行“foo.shx”,那么可以通过调用$1在bash中使用x 如果我想对lisp执行相同的操作,“script.lisp x”我可以使用/call将x作为参数而不是$1 范例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 "~¬ a valid int"))) 这个问题的答案取决于特定的Lisp实现。对于SBCL,如中所示,变量sb ext:*posix
#!/usr/local/bin/sbcl --script
(if (eql intp $1)
(+ $1 $1)
(format t "~¬ a valid int")))
这个问题的答案取决于特定的Lisp实现。对于SBCL,如中所示,变量
sb ext:*posix argv*
包含命令行。因此,例如(nth1sbext:*posix argv*)
将为您提供第一个参数。这个问题的答案取决于您特定的Lisp实现。对于SBCL,如中所示,变量sb ext:*posix argv*
包含命令行。因此,例如(nth 1 sb ext:*posix argv*)
将为您提供第一个参数。对于更便携的内容,检查此答案可能会有帮助,对于更便携的内容,检查此答案可能会有帮助