我为什么选择"对象不适用"计划错误?

时间:2018-04-28 03:24:49

标签: object scheme

console.log(storage)

我已编写此代码以检查第一个列表是否出现在第二个列表中,即第二个列表包含第一个列表。对我来说一切似乎都很好,但它表示对象bla bla(显示第一个列表)不适用。

任何帮助将不胜感激。应该很容易,但是看不到它。

1 个答案:

答案 0 :(得分:1)

您有几个括号问题,可能是因为您认为参数列表应该用括号括起来 您应该在函数名称之后依次编写参数。

表格

(define subset? (lambda (st1 st2) ...

很容易导致这个错误,但是等效形式

(define (subset? st1 st2) ...

看起来像函数应用程序看起来。

所以,在

(in? ((car st1) st2))

您尝试将(car st1)应用于st2并将结果传递给in?;在

(subset? ((cdr st1) st2))

您尝试将(cdr st1)应用于st2并将结果传递给subset?;并在

(null? (st1))

您尝试在没有任何参数的情况下致电st1并将结果传递给null?

正确的语法是

(in? (car st1) st2)
(subset? (cdr st1) st2)
(null? st1)