我试图在let中嵌套if语句,但是我无法接受else语句

时间:2016-10-12 00:07:10

标签: functional-programming scheme

(let ((cmd (car linelist))
      (lineitem(if (> (length linelist) 1)
                (cdr linelist)
                ( '("test"))
                             ))))

这只是我代码的一小部分,不用担心任何变量,一切正常,除此之外:

我无法让lineitem等于"测试。"虽然if语句是真的,但一切正常。但如果if语句是假的,我得到这个:

 expected a procedure that can be applied to arguments
  given: "test"
  arguments...: [none]
  context...:

我很困惑,因为我认为我的一切都很正确。

1 个答案:

答案 0 :(得分:1)

错误在于您正在尝试将"test"用作函数,它认为您是因为您用()包围它。目前还不清楚你到底想要完成什么,所以我无法说明应如何修复。