Scheme 方案:尝试打印列表时出错(应用程序:非过程)

Scheme 方案:尝试打印列表时出错(应用程序:非过程),scheme,racket,Scheme,Racket,我只想以以下格式打印一份列表: 橙色:3 我可以在没有函数的情况下执行此操作,但一旦尝试使用函数,就会出现以下错误: 橙色:3。应用:不是一个程序;期待一个程序 可应用于给定的参数:#参数…: 谢谢你的关注 #lang scheme (define m '( "Orange" 3)) (define print-object (lambda (m) ((display (car m)) (display " : ") (display (car

我只想以以下格式打印一份列表:

橙色:3

我可以在没有函数的情况下执行此操作,但一旦尝试使用函数,就会出现以下错误:

橙色:3。应用:不是一个程序;期待一个程序 可应用于给定的参数:#参数…:

谢谢你的关注

#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
下面的第一行。学会一致地格式化你的代码(即使不是标准的,但是一些你可以阅读的东西,就像我一样)。谢谢你,我会确保下次发布格式更好的代码。亚历克西斯的回答很有帮助,解决了我的问题。