Ubuntu 如何使用shebang符号运行guile Scheme脚本?
我用shebang符号创建了一个guile方案脚本 代码如下:Ubuntu 如何使用shebang符号运行guile Scheme脚本?,ubuntu,terminal,scheme,guile,Ubuntu,Terminal,Scheme,Guile,我用shebang符号创建了一个guile方案脚本 代码如下: #!/usr/local/bin/guile \ -e main -s !# (define (fact-iter product counter max-count) (if (> counter max-count) product (fact-iter (* counter product) (+ counter 1) max-count))) (define (factori
#!/usr/local/bin/guile \
-e main -s
!#
(define (fact-iter product counter max-count)
(if (> counter max-count)
product
(fact-iter (* counter product) (+ counter 1) max-count)))
(define (factorial n)
(fact-iter 1 1 n))
(define (main args)
(factorial args)
)
文件名:factScheme.guile
我尝试直接在终端“factScheme.guile”中运行它,得到了bash factScheme.guile:未找到命令
如果我使用“/factScheme.guile”,我的许可被拒绝
如果有人能告诉我如何在ubuntu终端上一步一步地运行guile scheme脚本,我将不胜感激
我在代码中提到的目录中有guile。I您需要使您的
factScheme.guile
文件可执行:
chmod +x factScheme.guile
您的程序还有其他问题:您需要将第一个(非程序名)参数转换为数字,并且需要显示结果。因此:
(display (factorial (string->number (cadr args))))
p.S.Guile程序通常使用
.scm
文件后缀。谢谢。它只做了一点小小的改变。我不得不将car改为(list ref args 1)或(car(cdr args)),因为car返回的第一个参数是文件名。我编辑了它并添加了注释,使stackoverflow接受了答案。不过非常感谢。