私は非常に新しいlispです。多分それはばかげた質問です。しかし、私は与えられたパターンに従って2つのリスト(s1、s2)をマージしたいと思います - ブール値のリストS3(t nil ....)。 trueの場合はS2から要素を使用し、falseの場合は要素をそのまま使用します。したがって、最後は s1(1 2 3 2 2 4)とs2(8 9 5 6 8 9)およびS3(nil tt nil t)=>(1 8 3 9 5 4)のようになります。Lispマージパターン
どうもありがとうございました! R.
のソリューションについて、いくつかのコメントを追加してくださいなぜ、それが問題に –
@Odedraを解決する方法:私はそれが良い例だと思いますコードははっきりしているのでコメントは必要ありません。つまり、 '' mapcar'はある関数をいくつかのリストに写像し、その結果をリストとして返す 'ということです。誰もが知っている。そして、マッピングされている関数は明らかにはっきりしています。 – tfb
あなたの関数はOPの問題を解決しないことに注意してください。 '(select-lists '(1 2 3 2 2 4)'(8 9 5 6 8 9) '(nil t nil tt nil))'は '(1 9 3 6 8 4)'を返します。 3 9 5 4) '。 – Renzo