4

を使用しているだけだと思いますsetq(またはsetf、違いがよくわかりません) が[i][j]、lisp で配列内の -th 要素を参照する方法がわかりません。

私の開始条件はこれです:

? (setq x (make-array '(3 3)))
#2A((0 0 0) (0 0 0) (0 0 0))

たとえば、3 番目の「行」の 2 番目の項目を変更して、次のようにします。

? ;;; What Lisp code goes here?!
#2A((0 0 0) (0 0 0) (0 "blue" 0))

以下は、私が近いと思っていたもので、エラーが発生します。

(setq (nth 1 (nth 2 x)) "blue")

では、正しい構文は何ですか?

ありがとう!

4

3 に答える 3

15

setf適切な方法は、次のように使用することだと思いますaref

(setf (aref x 2 1) "blue")

詳細については、リファレンスを参照してください。

于 2013-08-05T15:50:42.223 に答える