Next: Defining Variables, Previous: Local Variables, Up: Variables [Contents][Index]
¥·¥ó¥Ü¥ë¤Ë¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤È¤·¤Æ¤ÎÃͤò°ìÅÙ¤âÍ¿¤¨¤Æ¤¤¤Ê¤¤¤È¤¡¢
¤½¤Î¥·¥ó¥Ü¥ë¤Î¥°¥í¡¼¥Ð¥ëÃͤ϶õ¡Êvoid¡Ë¤Ç¤¢¤ë¤È¤¤¤¤¤Þ¤¹¡£
¤¤¤¤¤«¤¨¤ì¤Ð¡¢¥·¥ó¥Ü¥ë¤ÎÃÍ¥»¥ë¤Ë¤Ï¤É¤ó¤ÊLisp¥ª¥Ö¥¸¥§¥¯¥È¤âÆþ¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
¥·¥ó¥Ü¥ë¤òɾ²Á¤·¤è¤¦¤È¤¹¤ë¤È¡¢ÃͤǤϤʤ¯¥¨¥é¡¼void-variable
¤òÆÀ¤Þ¤¹¡£
nil
¤È¤¤¤¦Ãͤ϶õ¤È¤Ï°Û¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¥·¥ó¥Ü¥ënil
¤ÏLisp¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱÍͤË
ÊÑ¿ô¤ÎÃͤˤʤꤨ¤Þ¤¹¡£
¤½¤ì¤ÏÃͤʤΤǤ¹¡£
¶õ¤ÊÊÑ¿ô¤Ï¤¤¤«¤Ê¤ëÃͤâ»ý¤¿¤Ê¤¤¤Î¤Ç¤¹¡£
ÊÑ¿ô¤ËÃͤòÍ¿¤¨¤¿¤¢¤È¤Ç¤Ï¡¢makunbound
¤ò»È¤Ã¤Æ
ºÆÅÙ¤½¤ÎÊÑ¿ô¤ò¶õ¤Ë¤Ç¤¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢symbol¤Î¸½ºß¤ÎÊÑ¿ô«Çû¤ò¶õ¤Ë¤¹¤ë¡£
¤³¤ì°Ê¹ß¤ËÊÑ¿ô¤È¤·¤Æ¤³¤Î¥·¥ó¥Ü¥ë¤ÎÃͤò»È¤ª¤¦¤È¤¹¤ë¤È¡¢
ºÆÅÙÀßÄꤷ¤Æ¤¤¤Ê¤¤¸Â¤ê¡¢¥¨¥é¡¼void-variable
¤òÄÌÃΤ¹¤ë¡£
makunbound
¤Ïsymbol¤òÊÖ¤¹¡£
(makunbound 'x) ; ÊÑ¿ôx
¤Î¥°¥í¡¼¥Ð¥ëÃͤò¶õ¤Ë¤¹¤ë
⇒ x
x error→ Symbol's value as variable is void: x
symbol¤¬¥í¡¼¥«¥ë¤Ë«Çû¤µ¤ì¤Æ¤¤¤ë¤È¡¢
makunbound
¤Ï´û¸¤ÎºÇ¥í¡¼¥«¥ë«Çû¤ËºîÍѤ¹¤ë¡£
¥í¡¼¥«¥ë«Çû¤òºîÀ®¤¹¤ë¤¹¤Ù¤Æ¤Î¹½Ê¸¤ÏÊÑ¿ô¤ËÃͤòÍ¿¤¨¤ë¤¿¤á¡¢
¤³¤ì¤Ï¥·¥ó¥Ü¥ë¤Î¥í¡¼¥«¥ë«Çû¤ò¶õ¤Ë¤¹¤ëÍ£°ì¤ÎÊýË¡¤Ç¤¢¤ë¡£
¤³¤Î¾ìÌ̤Ǥϡ¢¶õ¤Î¾õÂ֤ϡ¢Â«Çû¤¬Â¸ºß¤¹¤ë¸Â¤ê¸³¤¹¤ë¡£
«Çû¤òºîÀ®¤·¤¿¹½Â¤¤«¤éÈ´¤±½Ð¤·¤ÆÂ«Çû¤¬ºï½ü¤µ¤ì¤ë¤È¡¢
Ä̾ï¤É¤ª¤ê¤½¤ì°ÊÁ°¤Î¥í¡¼¥«¥ë«Çû¤«¥°¥í¡¼¥Ð¥ë«Çû¤¬Í¸ú¤Ë¤Ê¤ê¡¢
¤½¤Î«Çû¤¬¶õ¤Ç¤Ê¤±¤ì¤ÐÊÑ¿ô¤Ï¶õ¤Ç¤Ï¤Ê¤¤¡£
(setq x 1) ; ¥°¥í¡¼¥Ð¥ë«Çû¤ËÃͤòÆþ¤ì¤ë ⇒ 1 (let ((x 2)) ; ¥í¡¼¥«¥ë¤Ë«Çû¤¹¤ë (makunbound 'x) ; ¥í¡¼¥«¥ë«Çû¤ò¶õ¤Ë¤¹¤ë x) error→ Symbol's value as variable is void: x
x ; ¥°¥í¡¼¥Ð¥ë«Çû¤ÏÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤ ⇒ 1 (let ((x 2)) ; ¥í¡¼¥«¥ë¤Ë«Çû¤¹¤ë (let ((x 3)) ; ¤â¤¦°ìÅÙ (makunbound 'x) ; ¤â¤Ã¤È¤âÆâ¦¤Î¥í¡¼¥«¥ë«Çû¤ò¶õ¤Ë¤¹¤ë x)) ; »²¾È¤¹¤ë¤¬¡¢¤½¤ì¤Ï¶õ error→ Symbol's value as variable is void: x
(let ((x 2))
(let ((x 3))
(makunbound 'x)) ; Æâ¦¤Î«Çû¤ò¶õ¤Ë¤·¡¢¤½¤ì¤òºï½ü¤¹¤ë
x) ; ³°Â¦¤Îlet
¤Î«Çû¤¬¸«¤¨¤ë
⇒ 2
makunbound
¤Ç¶õ¤Ë¤·¤¿ÊÑ¿ô¤Ï¡¢
°ìÅÙ¤âÃͤò¼õ¤±¼è¤Ã¤¿¤³¤È¤¬¤Ê¤¯¡¢¤½¤Î¤¿¤á¤Ë¶õ¤Ç¤¢¤ëÊÑ¿ô¤È¶èÊ̤Ǥ¤Þ¤»¤ó¡£
ÊÑ¿ô¤¬¸½ºß¡¢¶õ¤Ç¤¢¤ë¤«¤É¤¦¤«¤Ï´Ø¿ôboundp
¤ò»È¤Ã¤ÆÄ´¤Ù¤é¤ì¤Þ¤¹¡£
boundp
¤Ï¡¢¡Ê¥·¥ó¥Ü¥ë¡Ëvariable¤¬¶õ¤Ç¤Ê¤±¤ì¤Ð¡¢
¤è¤êÀµ³Î¤Ë¤¤¤¨¤Ð¡¢¸½ºß¤Î«Çû¤¬¶õ¤Ç¤Ê¤±¤ì¤Ðt
¤òÊÖ¤¹¡£
¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
(boundp 'abracadabra) ; ¶õ¤Ç»Ï¤á¤ë
⇒ nil
(let ((abracadabra 5)) ; ¥í¡¼¥«¥ë¤Ë«Çû¤¹¤ë
(boundp 'abracadabra))
⇒ t
(boundp 'abracadabra) ; ¥°¥í¡¼¥Ð¥ë¤Ë¤Ï¤Þ¤À¶õ¤Ç¤¢¤ë
⇒ nil
(setq abracadabra 5) ; ¥°¥í¡¼¥Ð¥ë¤Ë¶õ¤Ç¤Ê¤¯¤¹¤ë
⇒ 5
(boundp 'abracadabra) ⇒ t