Next: , Previous: Variable Scoping, Up: Variable Scoping   [Contents][Index]


10.9.1 ¥¹¥³¡¼¥×

Emacs Lisp¤Ç¤Ï¡¢ ¥í¡¼¥«¥ëÊÑ¿ô«Çû¤Ï̵¸Â¤Î¥¹¥³¡¼¥×¡Êindefinite scope¡Ë¤Ç¤¹¡£ ¤Ä¤Þ¤ê¡¢¥×¥í¥°¥é¥à¥Æ¥­¥¹¥È¾å¤Î¤É¤Î´Ø¿ô¤«¤é¤Ç¤â¡¢ ¤¢¤ëÊÑ¿ô«Çû¤ò»²¾È¤Ç¤­¤ë¤Î¤Ç¤¹¡£ ¤Ä¤®¤Î´Ø¿ôÄêµÁ¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£

(defun binder (x)   ; x¤Ï¡¢binder¤Ç«Çû
   (foo 5))         ; foo¤ÏÊ̤δؿô
(defun user ()      ; x¤Ï¡¢user¤Ë¤ª¤¤¤Æ¡Ø¼«Í³¡Ù
  (list x))

¥Æ¥­¥¹¥È¾å¤Î¥¹¥³¡¼¥×¤òÍѤ¤¤ë¸À¸ì¤Ç¤Ï¡¢ binderÆâ¤Îx¤Î«Çû¤ò¡¢user¤Ç»²¾È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤Ê¤¼¤Ê¤é¡¢user¤Ï¡¢¥Æ¥­¥¹¥È¾å¤Ç´Ø¿ôbinder¤ÎÆâ¦¤Ë¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢Æ°Åª¥¹¥³¡¼¥×¤ÎEmacs Lisp¤Ç¤Ï¡¢ ¾õ¶·¤Ë±þ¤¸¤Æ¡¢binderÆâ¤Ç³ÎΩ¤·¤¿x¤Î«Çû¤ò user¤«¤é»²¾È¤·¤Æ¤â¤·¤Ê¤¯¤Æ¤â¤è¤¤¤Î¤Ç¤¹¡£

Emacs Lisp¤ÇưŪ¥¹¥³¡¼¥×¤ò»È¤¦¤Î¤Ï¡¢ ¥Æ¥­¥¹¥È¾å¤Î¥¹¥³¡¼¥×¤Îñ½ã¤Ê¼ÂÁõ¤ÏÃÙ¤¤¤«¤é¤Ç¤¹¡£ ¤µ¤é¤Ë¡¢¤¹¤Ù¤Æ¤ÎLisp¥·¥¹¥Æ¥à¤Ï¡¢¾¯¤Ê¤¯¤È¤â¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¡¢ ưŪ¥¹¥³¡¼¥×¤ò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥Æ¥­¥¹¥È¾å¤Î¥¹¥³¡¼¥×¤¬É¸½à¤Ç¤¢¤ë¤È¡¢ ÆÃÄê¤ÎÊÑ¿ô¤ËÂФ·¤ÆÆ°Åª¥¹¥³¡¼¥×¤ò»ØÄꤹ¤ëÊýË¡¤¬É¬Íפˤʤê¤Þ¤¹¡£ Emacs¤ÇξÊý¤Î¥¹¥³¡¼¥×¤ò»È¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤â¤è¤¤¤Î¤Ç¤¹¤¬¡¢ ưŪ¥¹¥³¡¼¥×¤À¤±¤À¤È¼ÂÁõ¤¬¤è¤ê´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£