0

たとえば、1 つ以上の整数を取り、最初の引数と同じ偶奇パリティを持つすべての引数のリストを返す関数を作成しようとしています。

(same-parity 1 2 3 4 5 6 7)->(1 3 5 7)
(same-parity 2 3 4 5 6)->(2 4 6). 

私のコードは

(define (same-parity g . w)
    (define (iter-parity items)
        (if (= (length items) 1)
            (if (= (remainder items 2) (remainder g 2))
                item
                '())
            (if (= (remainder g 2) (remainder (car items) 2))
                (cons (car items) (iter-parity (cdr items)))
                (iter-parity (cdr items)))))
    (cons g (iter-parity w)))

これを試してみると(same-parity (list 1 2 3 4))、エラー メッセージが表示されました。car の最初の引数として渡されたオブジェクト () は正しい型ではありません。

何が起こっているのか誰か教えてもらえますか?

4

1 に答える 1