過去のクラスで LISP について簡単に話した後、私はまず頭に飛び込んでCLISPを学ぼうと決心しました( Seibel の PCL の第 5 章を読んでください)。私の質問は、一連のリストをパラメーターとして受け取る関数の作成に関するものです。最初のリストは、2 番目のリストにマップされた一連のインデックスです。一連のインデックスを渡し、対応する要素を返すようにしたいと考えています。
これまでの私のコードの概要は次のとおりです。nth を使用して引数のリストを渡すことができるかどうかはわかりませんでした。体型がどのように見えるべきかわかりません。
システム情報: CLISP 2.49 Win7
(defun get-elements('(nth (x y z) '(a b c)) )
"takes a list of arguments that returns corresponding elements from a list."
(format t "The elements at index ~d are: ~%" x y z)
((maybe indexes go here)'(elements go here?))
リスト(x y z)
はインデックスであり、データ リスト(a b c)
は任意の要素のリストです。評価はデータとして関数 get-elements に渡されます。私はこの考え方で正しい軌道に乗っていますか?
LISP 教育の関連トピックへのヒントとポインタは大歓迎です。
事後分析: チャプター 3 ~ 4 を再検討すると、PCL は初心者のプログラマー (少なくとも私にとって) には少し手の届く範囲にあるように見えます。本からコードを入力することはできますが、明らかに言語の基本構造を深く理解していません。再び PCL に着手する前に、Lisp についてもう少し穏やかに紹介してみようと思います。