2

我使用 shebang 表示法创建了一个 guile Scheme 脚本。

这是代码:

#!/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: command not found

如果我使用“./factScheme.guile”并且我得到了Permission Denied

如果有人能告诉我如何一步一步地在 ubuntu 的终端中实际运行 guile 方案脚本,我将不胜感激。

我在代码中提到的目录中有诡计。我

4

1 回答 1

3

您需要使您的factScheme.guile文件可执行:

chmod +x factScheme.guile

您的程序还有其他问题:您需要将第一个(非程序名称)参数转换为数字,并且需要显示结果。因此:

(display (factorial (string->number (cadr args))))

PS Guile 程序通常使用.scm文件后缀。

于 2016-06-15T12:05:09.077 回答