Lisp、 "for"ループでdbに新しいリストを追加する、なぜNILを返すの?
私は、関数を呼び出すたびに作成される新しいリストの "for"ループから新しい値をそれぞれLISPでどのように印刷することができますか?
私はFUNCを作成しました:
ここ
(defun make (id name surname) (list :id id :name name :surname surname))
私はグローバル変数を作成しました:私はデシベルでそれを格納するために、それぞれの新しい値を追加するためのFUNCを定義し
(defvar *db* nil)
そしてここに:
したがって、 Iそのように、DBへのそれぞれの新しいデータを追加することができるよ:私は使用することができ、私のデシベルのコンテンツを検索するには
(add (make 0 "Oleg" "Orlov"))
:
*db*
だから、私は置く方法を疑問に思いますそれぞれの新しいレコードのリストがループ「のために」を使用してDBへ、私はこのようなLispでループ「のために」の値を出力します。
(loop for i from 1 to 10 do (...))
がいる場合は、私が使用:
(loop for i from 0 to 10 do (add (make i "Oleg" "Orlov")))
すべてevelenレコードが追加されたことを、あなたが表示されます*db*
を使用しますが、最後の行を呼び出した後のDB Read場合は、見返りにNIL結果を取得します。
なぜNIL結果を取得するのですか?Tとは何を意味しますか?
ありがとうございます。