Scheme 方案:尝试打印列表时出错(应用程序:非过程)
我只想以以下格式打印一份列表: 橙色:3 我可以在没有函数的情况下执行此操作,但一旦尝试使用函数,就会出现以下错误: 橙色:3。应用:不是一个程序;期待一个程序 可应用于给定的参数:#参数…: 谢谢你的关注Scheme 方案:尝试打印列表时出错(应用程序:非过程),scheme,racket,Scheme,Racket,我只想以以下格式打印一份列表: 橙色:3 我可以在没有函数的情况下执行此操作,但一旦尝试使用函数,就会出现以下错误: 橙色:3。应用:不是一个程序;期待一个程序 可应用于给定的参数:#参数…: 谢谢你的关注 #lang scheme (define m '( "Orange" 3)) (define print-object (lambda (m) ((display (car m)) (display " : ") (display (car
#lang scheme
(define m '( "Orange" 3))
(define print-object
(lambda (m)
((display (car m))
(display " : ")
(display (car (cdr m))))))
(print-Object m)
lambda主体周围的括号太多。您需要删除
显示
调用返回的#
周围的paren,但您正试图将该值作为函数调用。正如@AlexisKing所说,但现在我重新格式化了您的代码,您可以看到问题出在lambda
下面的第一行。学会一致地格式化你的代码(即使不是标准的,但是一些你可以阅读的东西,就像我一样)。谢谢你,我会确保下次发布格式更好的代码。亚历克西斯的回答很有帮助,解决了我的问题。