私は何かを渡して何かをし、それに基づいてリストを返す関数を持っています。引数として何でもかけることができる関数
すべての値を含む1つのリストにどのような引数が渡されても、どのように処理し、マッシュするのでしょうか?
また、'
は、何らかの機能の中から何らかの機能2を呼び出すようになっているため、問題を抱えています。これを回避する方法はありますか?私のケースでは、引数として多かれ少なかれ何かを取ることができる過度に一般的な関数を、他の関数でさえ持っていると便利です。関数へ
可能な引数:
- NIL(0として扱われるべきである)
- 数
- 数字
- 空リスト(0として扱われるべきである)のリスト
- いくつかのリストには、NIL、数字、または が含まれている場合と含まれていない場合があります。
- さらに多くのリスト
基本的に、私が何をしたい:
(somefunction '() 1 2 3 4 '(1 2 3 4) '(1))
...にマッシュポテト/マージする必要があります。
注処理される前に...
(0 1 2 3 4 1 2 3 4 1)
:これはフォローアップthis question
Stackoverflowは、プログラミング言語の基礎を学ぶのに適していません。私は、LispやCommon Lispに関する基本的な紹介テキストを読むことを提案します。そこでは、Lispにおける引数処理の基本について詳しく説明します。 –
Seconding @Rainer。あなたには、[Practical Common Lisp](http://www.gigamonkeys.com/book/)、[SICP](http://mitpress.mit.edu/sicp/full-text/book/book .html)と[On Lisp](http://www.paulgraham.com/onlisp.html)を参照してください。特にAIに入ることを望んでいるなら、[Norvig](http://www.norvig.com/paip.html)または[two](http://aima.cs.berkeley.edu/ )(しかし、それらは無料ではありません)。 – Inaimathi
何があっても、NILと空のリストはCommon Lispと同じです(リストの強調表示には()が使用され、ボットハリストとシンボルのシンボルの強調表示にはNILが使用されます)私は理解している、歴史的な理由)。 – Vatine