-1

append を使用せずに、2 つのリストをパラメーターとして持ち、2 つのリストの連結を返す関数を作成するにはどうすればよいでしょうか。

2番目のリストの先頭を取得する方法は知っていますが、最初のリストに入れる方法と、リストの先頭もリストの場合はどうすればよいかわかりません。

4

2 に答える 2

0

APPEND(何らかの理由で)を使用せずにこれを行う必要がある場合は、おそらく次のようにします。

(concatenate 'list list1 list2)

これはおそらく宿題の質問であり、探している答えではない可能性が高いと思いますがCONCATENATEHyperSpec で詳細を確認できます。

于 2013-03-07T12:46:34.003 に答える
0

LOOP または DO を使用できますか?

このようなものが動作します:

(defun my-concat (x y)
  (loop 
    for o in (reverse x)
    do (push o y)
    finally (return y)))

ループがオプションでない場合は、再帰を使用することをお勧めします。

于 2013-03-25T09:12:09.870 に答える