ローカル変数の使用例(AutoLISP)

次の例では、ユーザ定義関数の中でローカル変数を使用しています(スラッシュとローカル変数の間に少なくとも 1 つのスペースがあることに注意してください)。

(defun LOCAL ( / aaa bbb)
(setq aaa "A" bbb "B")
(princ (strcat "\naaa has the value " aaa ))
(princ (strcat "\nbbb has the value " bbb))
(princ) )

LOCAL

新しい関数を試す前に、変数 aaabbb に、 LOCAL 関数で使用される以外の値を代入しておきます。

(setq aaa 1 bbb 2)

2

変数 aaabbb に実際にそれらの値が代入されていることを確認できます。

!aaa
1

!bbb
2

次に LOCAL 関数をテストします。

(local)

aaa has the value A 
bbb has the value B

関数は aaabbb について、局所的にその関数独自の値を使用したことにお気付きでしょう。aaabbb の現在値がまだ非ローカル変数に代入されていることを確認できます。

!aaa
1

!bbb
2

この手法を使用すると、変数が特定の関数に対してローカルとなるようにできるだけでなく、それらの変数に使用されているメモリが他の関数でも使用できるようになります。