0
以下のコードは、@n
から20
から@myList
までの数字を追加することを想定しています。再帰関数の引数としてリストを渡そうとしていますが、構文が正しくありません。どうすればいい?LISPでdefunを使ってリストに引数を渡すにはどうすればよいですか? (再帰的に)
注:間違って追加を使用していると思います。
;Add numbers from @n til 20 to @myList
(defun someFunction(myList, n)
(if (= n 20) ;Base case, return 20
20
)
(append myList n) ;Append n to the end of myList
(someFunction myList (+ n 1))
)
何使用は、 '、'コンマのですか?それはLispで理にかなっていますか?あなたはIF構成を持っていますが、その価値を使用しません - なぜですか?今のように、あなたは 'IF'形式を削除することができ、それは何の違いもありません。 –
基本的なLispを見直す必要があるようです。 Lispがあなたが使った他の言語のようなものであると仮定しないでください。 (あなたがもっと忘れることができればいいほど) – molbdnilo