Next: Variable Scoping, Previous: Accessing Variables, Up: Variables [Contents][Index]
ÊÑ¿ô¤ÎÃͤòÊѹ¹¤¹¤ëÉáÄ̤ÎÊýË¡¤Ï¡¢¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àsetq
¤ò»È¤¦¤³¤È¤Ç¤¹¡£
¼Â¹Ô»þ¤ËÁªÂò¤¹¤ëÊÑ¿ô¤ò·×»»¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¤Ë¤Ï¡¢
´Ø¿ôset
¤ò»È¤¤¤Þ¤¹¡£
¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¡¢ÊÑ¿ô¤ÎÃͤòÊѹ¹¤¹¤ë¤â¤Ã¤È¤â°ìÈÌŪ¤ÊÊýË¡¤Ç¤¢¤ë¡£ ³Æsymbol¤Ë¡¢Âбþ¤¹¤ëform¤Îɾ²Á·ë²Ì¤Ç¤¢¤ë¿·¤¿¤ÊÃͤòÍ¿¤¨¤ë¡£ ¥·¥ó¥Ü¥ë¤Î´û¸¤ÎºÝ¡¢¥í¡¼¥«¥ë¤Î«Çû¤òÊѹ¹¤¹¤ë¡£
setq
¤Ïsymbol¤òɾ²Á¤·¤Ê¤¤¡£
ÆÉ¼Ô¤¬½ñ¤¤¤¿¥·¥ó¥Ü¥ë¤ËÀßÄꤹ¤ë¡£
¤³¤ÎÊÑ¿ô¤Ï¼«Æ°Åª¤Ë¥¯¥©¡¼¥È¤µ¤ì¤ë¤Î¤Ç¤¢¤ë¡£
setq
¤Î‘q’¤Ï¡¢¡Øquoted¡Ê¥¯¥©¡¼¥È¤¹¤ë¡Ë¡Ù¤òɽ¤¹¡£
¥Õ¥©¡¼¥àsetq
¤ÎÃͤϡ¢ºÇ¸å¤Îform¤ÎÃͤǤ¢¤ë¡£
(setq x (1+ 2)) ⇒ 3
x ; x
¤Ï¥°¥í¡¼¥Ð¥ëÃͤò»ý¤Ä
⇒ 3
(let ((x 5))
(setq x 6) ; x
¤Î¥í¡¼¥«¥ë«Çû¤òÀßÄꤹ¤ë
x)
⇒ 6
x ; ¥°¥í¡¼¥Ð¥ëÃͤÏÊѹ¹¤µ¤ì¤Ê¤¤
⇒ 3
ºÇ½é¤Îform¤òɾ²Á¤·¤ÆºÇ½é¤Îsymbol¤ËÀßÄꤷ¡¢ ¤Ä¤®¤Ë¡¢2ÈÖÌܤÎform¤òɾ²Á¤·¤Æ2ÈÖÌܤÎsymbol¤ËÀßÄꤷ¡¢ ¤È¤¤¤Ã¤¿¶ñ¹ç¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¡£
(setq x 10 ;x
¤Ï¡¢y
¤ÎÃͤò·×»»¤¹¤ë¤Þ¤¨¤Ë y (1+ x)) ; ÀßÄꤵ¤ì¤ë¤³¤È¤ËÃí°Õ ⇒ 11
¤³¤Î´Ø¿ô¤Ï¡¢symbol¤ÎÃͤȤ·¤Ævalue¤òÀßÄꤷ¡¢value¤òÊÖ¤¹¡£
set
¤Ï´Ø¿ô¤Ê¤Î¤Ç¡¢symbol¤È¤·¤Æ½ñ¤¤¤¿¼°¤Ï¡¢
ÀßÄꤹ¤ë¥·¥ó¥Ü¥ë¤òÆÀ¤ë¤¿¤á¤Ëɾ²Á¤µ¤ì¤ë¡£
ÊÑ¿ô¤Î´û¸¤ÎºÇ¥í¡¼¥«¥ë¤Î«Çû¤ËÀßÄꤹ¤ë¡£ ±£¤µ¤ì¤Æ¤¤¤ë«Çû¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¡£
(set one 1) error→ Symbol's value as variable is void: one
(set 'one 1) ⇒ 1
(set 'two 'one) ⇒ one
(set two 2) ; two
¤Ï¥·¥ó¥Ü¥ëone
¤Ëɾ²Á¤µ¤ì¤ë
⇒ 2
one ; ¤½¤Î¤¿¤á¡¢one
¤ËÀßÄꤵ¤ì¤ë ⇒ 2 (let ((one 1)) ;one
¤Î¤³¤Î«Çû¤¬ÀßÄꤵ¤ì¡¢ (set 'one 3) ; ¥°¥í¡¼¥Ð¥ëÃͤÏÀßÄꤵ¤ì¤Ê¤¤ one) ⇒ 3
one ⇒ 2
symbol¡Ê¤Îɾ²Á·ë²Ì¡Ë¤¬¼ÂºÝ¤Ë¤Ï¥·¥ó¥Ü¥ë¤Ç¤Ê¤¤¤È¡¢
¥¨¥é¡¼wrong-type-argument
¤òÄÌÃΤ¹¤ë¡£
(set '(x y) 'z) error→ Wrong type argument: symbolp, (x y)
ÏÀÍýŪ¤Ë¤Ï¡¢set
¤Ïsetq
¤è¤ê¤â¤µ¤é¤Ë´ðËÜŪ¤ÊÁàºî¤Ç¤¢¤ë¡£
¤É¤ó¤Êsetq
¤Î»È¤¤Êý¤Ç¤â¡¢set
¤ÇÁÇľ¤Ë½ñ¤Ä¾¤»¤ë¡£
setq
¤Ï¡¢set
¤ò»È¤Ã¤Æ¥Þ¥¯¥í¤È¤·¤ÆÄêµÁ¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡£
¤·¤«¤·¡¢set
¤½¤Î¤â¤Î¤ò»È¤¦¤³¤È¤Ïµ©¤Ç¤¢¤ê¡¢
½é¿´¼Ô¤Ïset
¤òÃΤëɬÍפ¬¤Û¤È¤ó¤É¤Ê¤¤¡£
ÀßÄꤹ¤ëÊÑ¿ô¤ò¼Â¹Ô»þ¤ËÁª¤Ö¤È¤¤Ë¤Î¤ßÍÍѤǤ¢¤ë¡£
¤¿¤È¤¨¤Ð¡¢¥³¥Þ¥ó¥Éset-variable
¤Ï¡¢
¥æ¡¼¥¶¡¼¤«¤éÊÑ¿ô̾¤òÆÉ¤ß¼è¤ê¤½¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤Î¤Ç¡¢
set
¤ò»È¤¦É¬Íפ¬¤¢¤ë¡£
Common Lisp¤Ë´Ø¤·¤¿Ãí°Õ¡§
Common Lisp¤Ç¤Ï¡¢
set
¤Ï¤Ä¤Í¤Ë¥·¥ó¥Ü¥ë¤Î¡Ø¥¹¥Ú¥·¥ã¥ë¡Ù¤Ê¡¢¤Ä¤Þ¤ê¡¢ ưŪ¤ÊÃͤòÊѹ¹¤·¡¢Ê¸Ì®¾å¤Î«Çû¤ò̵»ë¤¹¤ë¡£ Emacs Lisp¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤È¤¹¤Ù¤Æ¤Î«Çû¤ÏưŪ¤Ç¤¢¤ê¡¢set
¤Ï¤Ä¤Í¤Ë´û¸¤ÎºÇ¥í¡¼¥«¥ë¤Î«Çû¤ËºîÍѤ¹¤ë¡£
ÊÑ¿ô¤ËÀßÄꤹ¤ëÊ̤δؿô¤Ï¡¢¥ê¥¹¥È¤Ë´û¸¤Ç¤Ê¤¤Í×ÁǤòÄɲ乤ë¤è¤¦¤Ë À߷פµ¤ì¤¿¤â¤Î¤Ç¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢element¤¬ÊÑ¿ôsymbol¤ÎÃͤΥꥹ¥È¤Î¥á¥ó¥Ð¤Ç¤Ê¤±¤ì¤Ð¡¢ element¤ÈÊÑ¿ôsymbol¤ÎÃͤò¥³¥ó¥¹¤·¤¿Ãͤò ÊÑ¿ôsymbol¤ËÀßÄꤹ¤ë¡£ ¥ê¥¹¥È¤òÊѹ¹¤·¤Æ¤â¤·¤Ê¤¯¤Æ¤â·ë²Ì¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£ ¸Æ¤Ó½Ð¤¹¤Þ¤¨¤Ë¡¢symbol¤ÎÃͤϥꥹ¥È¤Ç¤¢¤ë¤Û¤¦¤¬¤è¤¤¡£
°ú¿ôsymbol¤Ï°ÅÌۤ˥¯¥©¡¼¥È¤µ¤ì¤Ê¤¤¡£
add-to-list
¤Ï¡¢set
¤Î¤è¤¦¤ËÉáÄ̤δؿô¤Ç¤¢¤ê¡¢
setq
¤È¤Ï°ã¤¦¡£
ɬÍפʤé¤Ð¡¢ÆÉ¼Ô¼«¿È¤Ç¥¯¥©¡¼¥È¤¹¤ë¡£
add-to-list
¤Î»È¤¤Êý¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£
(setq foo '(a b)) ⇒ (a b) (add-to-list 'foo 'c) ;;c
¤òÄɲ乤ë ⇒ (c a b) (add-to-list 'foo 'b) ;; ¤Ê¤ó¤Î¸ú²Ì¤â¤Ê¤¤ ⇒ (c a b) foo ;;foo
¤ÏÊѹ¹¤µ¤ì¤Æ¤¤¤ë ⇒ (c a b)
(add-to-list 'var value)
¤ËÅù²Á¤Ê¼°¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¹¡£
(or (member value var) (setq var (cons value var)))
Next: Variable Scoping, Previous: Accessing Variables, Up: Variables [Contents][Index]