鸡肉方案和命令行参数

时间:2019-05-16 04:26:33

标签: scheme

我正在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)。但我无法弄清楚。如果有人可以解释我对这两个过程的约束,我将不胜感激,

  • 我可以检查命令行参数

  • 我可以打印到控制台

1 个答案:

答案 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)