Common Lispの入れ子リストは本当に私を混乱させました。ここで問題がある:再帰を使用することによりCLISPの入れ子リストとラムダ式のいくつかの問題がありました
、最初の引数がそうでなければ( ネストされたリストかもしれない)第二引数に表示され、nil
場合(nested-list 'b '(a (b c) d))
リターンt
をしましょう。
私はfind
を試しましたが、最初の引数が'(b c)
の場合にのみ動作します。 私はラムダ式に目を向けました。最初に第2の 引数を平坦化してから、eq
を使用して引数を比較したいと思います。
(defun nested-list (x y)
(cond
((null y)())
(t (append (lambda (flatten) (first y))
それから私は立ち往生しました。私はラムダ のexpaysについてたくさんのものを読んでいましたが、それでも私は混乱しました。 私はfuncall関数を知っていましたが、私はちょうど を得ることができないことを知っています。私はCommon Lispを5日間学んだので、 ヒントを教えてください。どうもありがとう!
その関数の名前は非常に悪いです。 'tree-contains-p'のようなものでなければなりません。 – Svante