こんにちは、私は AutoCad Lisp を初めて使用し、簡単なルーチンで作業を少しスピードアップしようとしていますが、壁にぶつかってこれを理解できず、簡単な解決策があることを強く感じています。そう...
「koord」という名前のリストを作成しました。
(setq koord (list (cons "1" "10,10,10")))
結果はドット ペアです。("1" . "10,10,10")
その後、このリストに次のように追加します。
(setq koord (append koord (list (cons "2" "20,20,20"))))
(setq koord (append koord (list (cons "3" "30,30,30"))))
結果は次のとおりです。("1" . "10,10,10") ("2" . "20,20,20") ("3" . "30,30,30")
この時点で、2 番目のドット ペアを更新して、リストを次のようにします。
("1" . "10,10,10") ("2" . "60,60,60") ("3" . "30,30,30")
しかし、方法がわからない...このように追加すると
(setq koord (append koord (list (cons "2" "60,60,60"))))
私がこの結果を得るよりも:
("1" . "10,10,10") ("2" . "20,20,20") ("2" . "60,60,60") ("3" . "30,30,30")
これを取得する方法を知っていれば、それほど悪くはありません("2" . "60,60,60")
私が試したら
(assoc "2" koord)
最初に出現したものを返します。つまり("2" . "20,20,20")
では、追加するのではなく、ドット ペアの値を更新する方法や、最初の値ではなく最後に追加された値を取得する方法はありますか?