使用球拍返回与给定动物列表对应的动物名称列表

时间:2018-02-28 14:40:34

标签: racket

我现在正在使用racket来构建函数,该函数返回与给定动物列表对应的动物名称列表。 但是出现了问题。

(define (name-pets l)
    (cond
        [(eq? "dog" first(l)) (append 'happy (name-pets (rest (l))))]
        [(eq? "cat" first(l)) (append 'smart (name-pets (rest (l))))]
        [(eq? "pig" first(l)) (append 'pinky (name-pets (rest (l))))]
        [else (append 'unnamed (name-pets (rest (l))))]))
(name-pets (list "pig" "cat" "dog" "dolphin"))

当我运行代码时,

  

申请:不是程序;期望一个程序可以   适用于论据   给出:'("猪""猫""狗""海豚")
  参数......:[无]

有什么问题?

1 个答案:

答案 0 :(得分:0)

first(l)更改为(first l),将(rest (l))更改为(rest l)。 请注意,您无法在Racket中插入额外的括号。 语法(l)表示调用l,但由于l是列表而不是函数, 你遇到了问题。