我正在Scheme中编写一个程序,该程序需要检查命令行参数。我认为获取可执行文件的一种好方法是使用Chicken Scheme编译该东西,但是随后遇到了问题:
这是test.sch的内容
(display (command-line))
我正在这样调用编译器:
csc -require-extension r5rs test.sch
哪个发出以下警告:
Warning: extension `r5rs' is currently not installed
,但继续生成可执行文件test
。该可执行文件在运行时
$ ./test
Error: (require) cannot load extension: r5rs
Call history:
##sys#require <--
r5rs
是扩展名吗?我不这么认为,因为chicken-install
似乎对此一无所知:
$ chicken-install r5rs
Error: unrecognized file-information - possibly corrupt transmission: "(error \"no such extension or version\" \"r5rs\" #f)"
我认为我需要导入r5rs
才能获得过程(display)
和(command-line)
。但我无法弄清楚。如果有人可以解释我对这两个过程的约束,我将不胜感激,
我可以检查命令行参数
我可以打印到控制台
答案 0 :(得分:0)
命令行参数不是R5RS或任何其他Scheme报告的一部分。支持方法的每个实现都有自己的方式,Chicken使用内置参数command-line-arguments
:
$ echo '(display (command-line-arguments))' > test.scm
$ csc test.scm
$ ./test 1 2 3
(1 2 3)