私はこの機能に問題がありますtwo-similar-p
。リスト間の2つの共通要素
(defun two-similar-p (list1 list2)
(mapcar
(lambda (e)
(mapcar
(lambda (e1)
(if (equal e e1) t))
list2))
list1))
しかし、この機能はT
またはNIL
で新しいリストを返しますが、私は真または偽を返すためにだけ必要があるため、正しい使用mapcar
ではありません。
ex。
(two-similar-p '(2 1 3) '(1 2 3))
==> ((NIL T NIL) (T NIL NIL) (NIL NIL T))
私は様々な要素を比較するために再帰を使用することを考えていましたが、それをどうするかわかりません。
(two-similar-p '(1 2 3) '(1 4 5)) ; ==> nil
(two-similar-p '(1 2 5) '(1 4 5)) ; ==> t
(two-similar-p '(1 2 6) '(6 4 2)) ; ==> t
何かアドバイス: My機能は以下のように動作する必要がありますか?
最初の例で 'nil'が返されるのはなぜですか? – melpomene
ops、申し訳ありませんが、最初の例は、少なくとも2つの等しい要素を持たないため、nilを返します。 –
'mapcar'を使う必要がありますか? – sds