2 つまたは 3 つの要素を持つリストを受け取る関数があります。
;; expecting either ((a b c) d) or ((a b c) d e)
(define (has-third-item ls)
(if (null? (caddr ls))
false
true)
)
しかし、このコードは失敗します
mcar: expects argument of type <mutable-pair>; given ()
(null? (caddr ls)) 式について。
私も試しました
(eq? '() (caddr ls))
しかし、それもうまくいきませんでした。3 番目の項目があるかどうかはどうすればわかりますか?