・ 評価しないで式を返すってどんなこと?

(quote) 「' (クォーテーション)」をオンラインマニュアルで調べると、「評価せずに式を返します」とあります。
これって、いったいどんなことができるのか、わかったようで、わかりにくいですよね。

簡単にリストが作れます

        例:(setq pt (list 0 0 0) )
                ↓
             (setq pt '(0 0 0) )

        例:(command "LINE" (list 0 0 0) (list 10 10 0) "")
                ↓
             (command "LINE" '(0 0 0) '(10 10 0) "")

        例:(setq ss (ssget "X" (list (cons 0 "LINE") (cons 62 5) ) ) )
                ↓
             (setq ss (ssget "X" '( (0 . "LINE) (62 . 5) ) ) )

        但し、一般的には、変数は使えません

 

(mapcar)や(apply)の引数として指定する場合に必要

例:(mapcar '1+ '(1 2 3))

例:(apply 'stract (list "a" "b" "c"))

 

シンボルをリストにできる

       コマンド:(setq pt1 '(0 0 0) )
        (0 0 0)

        コマンド:(setq pt2 '(10 10 0) )
        (10 10 0)

        として、普通は

        コマンド:(setq pt_list (list pt1 pt2) )
        ( (0 0 0) (10 10 0) )

        となりますが
        「' (クォーテーション)」を使うと

        コマンド:(setq pt_list '(pt1 pt2) )
        (PT1 PT2)

        中身を取り出すには (eval) を使います。

        コマンド:(eval (car pt_list) )
        (0 0 0)

        コマンド:(mapcar 'eval pt_list)
        ( (0 0 0) (10 10 0) )

        だから、どうなの?
        というわけで、やっぱり良く分かりません。

ちなみに (setq) て (set) と (quote) の組み合わせだそうです。
(set (quote a) 10)

(set 'a 10)

(setq a 10)
なんだって

参考文献:岡島正夫 著「AutoLISPの初歩」 (ISBN4-486-01542-8 )