4 scheme
我正在尝试编写一个方案函数,在新行上打印列表的每个条目.此函数和样本输入按预期工作,然后出现"非法函数"错误并退出.我正在使用debian回购中的tinyscheme.
(define print-list
(lambda (l)
(if (null? l)
(display "done\n")
(
(display (car l))
(newline)
(print-list (cdr l))
)
)
)
)
(print-list '(1 2 3 4 5) )
Run Code Online (Sandbox Code Playgroud)
括号后跟表达式表示函数应用程序.
(expr1 expr2 ...)
Run Code Online (Sandbox Code Playgroud)
表示评估expr1,, expr2....然后将结果应用于... expr1的结果expr2.如果结果expr1不是函数,那么您将看到"非法函数"错误.
修复就像leppie状态一样添加begin:
(define print-list
(lambda (l)
(if (null? l)
(display "done\n")
(begin
(display (car l))
(newline)
(print-list (cdr l))))))
(print-list '(1 2 3 4 5) )
Run Code Online (Sandbox Code Playgroud)
这里(开始表达式1表达式2 ....)指evalute expr1,expr2,...为了.最后返回最后一个表达式的值.
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |