Previous: Creating Buffer-Local, Up: Buffer-Local Variables   [Contents][Index]


10.10.3 ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ëÊÑ¿ô¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ

¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬¤¢¤ëÊÑ¿ô¤Î¥°¥í¡¼¥Ð¥ëÃͤò¡¢ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤È¤â¸Æ¤Ó¤Þ¤¹¡£ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤äÁªÂò¤·¤¿¥Õ¥ì¡¼¥à¤ËÊÑ¿ô¤ÎÆÈ¼«¤Î«Çû¤¬¤Ê¤¤¾ì¹ç¤Ë¡¢ ¥°¥í¡¼¥Ð¥ëÃͤò»È¤¦¤«¤é¤Ç¤¹¡£

´Ø¿ôdefault-value¤È´Ø¿ôsetq-default¤Ï¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬¤¢¤ë¤«¤É¤¦¤«¤Ë´Ø¤ï¤é¤º¡¢ ÊÑ¿ô¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»²¾È¤·¤¿¤êÊѹ¹¤·¤¿¤ê¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢setq-default¤ò»È¤Ã¤Æ¡¢ ¤Û¤È¤ó¤É¤Î¥Ð¥Ã¥Õ¥¡¤Îparagraph-start¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤòÊѹ¹¤Ç¤­¤Þ¤¹¡£ ¤³¤ÎÊÑ¿ô¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃͤ¬¤¢¤ëC¥â¡¼¥É¤äLisp¥â¡¼¥É¤Î¥Ð¥Ã¥Õ¥¡¤Ç ¹Ô¤Ã¤Æ¤â¤³¤ì¤Ïưºî¤·¤Þ¤¹¡£

¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àdefvar¤ädefconst¤â¡¢ ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ä¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤ÊÃͤǤϤʤ¯¡¢ ¡ÊÊÑ¿ô¤ËÀßÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡Ë¥Ç¥Õ¥©¥ë¥ÈÃͤòÀßÄꤷ¤Þ¤¹¡£

Function: default-value symbol

¤³¤Î´Ø¿ô¤Ï¡¢symbol¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤòÊÖ¤¹¡£ ¤³¤ÎÃͤϡ¢¤³¤ÎÊÑ¿ô¤ËÂФ·¤ÆÆÈ¼«¤ÎÃͤò»ý¤¿¤Ê¤¤¥Ð¥Ã¥Õ¥¡¤ä¥Õ¥ì¡¼¥à¤Ç¸«¤¨¤ë ÃͤǤ¢¤ë¡£ symbol¤¬¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ç¤Ê¤±¤ì¤Ð¡¢ ¤³¤ì¤Ï¡¢symbol-value¡Êsee Accessing Variables¡Ë¤ÈÅù²Á¡£

Function: default-boundp symbol

´Ø¿ôdefault-boundp¤Ï¡¢ symbol¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤ¬¶õ¤Ç¤Ê¤¤¤³¤È¤òÄ´¤Ù¤ë¡£ (default-boundp 'foo)¤¬nil¤òÊÖ¤»¤Ð¡¢ (default-value 'foo)¤Ï¥¨¥é¡¼¤Ë¤Ê¤ë¡£

default-boundp¤Ï¡¢boundp¤¬symbol-value¤ËÂбþ¤¹¤ë¤è¤¦¤Ë¡¢ default-value¤ËÂбþ¤¹¤ë¡£

Special Form: setq-default [symbol form]…

¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¡¢³Æsymbol¤Ë¡¢ Âбþ¤¹¤ëform¤Îɾ²Á·ë²Ì¤Ç¤¢¤ë¿·¤¿¤Ê¥Ç¥Õ¥©¥ë¥ÈÃͤòÍ¿¤¨¤ë¡£ symbol¤Ïɾ²Á¤·¤Ê¤¤¤¬¡¢form¤Ïɾ²Á¤¹¤ë¡£ ¥Õ¥©¡¼¥àsetq-default¤ÎÃͤϡ¢ºÇ¸å¤Îform¤ÎÃͤǤ¢¤ë¡£

symbol¤¬¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ç¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ç¤Ï¤Ê¤¯¡¢¤«¤Ä¡¢ ¼«Æ°Åª¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤¹¤ë°õ¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ setq-default¤Ïsetq¤ÈƱ¤¸¸ú²Ì¤¬¤¢¤ë¡£ symbol¤¬¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ç¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê¤é¤Ð¡¢ ¡Ê¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃͤò»ý¤¿¤Ê¤¤¡ËÊ̤ΥХåե¡¤¬¸«¤ëÃͤòÊѹ¹¤·¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤¬¸«¤ëÃͤÏÊѹ¹¤·¤Ê¤¤¡£

;; ¥Ð¥Ã¥Õ¥¡‘foo’¤Ë¤ª¤¤¤Æ¡¢
(make-local-variable 'buffer-local)
     ⇒ buffer-local
(setq buffer-local 'value-in-foo)
     ⇒ value-in-foo
(setq-default buffer-local 'new-default)
     ⇒ new-default
buffer-local
     ⇒ value-in-foo
(default-value 'buffer-local)
     ⇒ new-default
;; ¡Ê¿·¤¿¤Ê¡Ë¥Ð¥Ã¥Õ¥¡‘bar’¤Ç¤Ï¡¢
buffer-local
     ⇒ new-default
(default-value 'buffer-local)
     ⇒ new-default
(setq buffer-local 'another-default)
     ⇒ another-default
(default-value 'buffer-local)
     ⇒ another-default
;; ¥Ð¥Ã¥Õ¥¡‘foo’¤ËÌá¤Ã¤Æ¤ß¤ë¤È
buffer-local
     ⇒ value-in-foo
(default-value 'buffer-local)
     ⇒ another-default
Function: set-default symbol value

¤³¤Î´Ø¿ô¤Ïsetq-default¤Ë»÷¤Æ¤¤¤ë¤¬¡¢ symbol¤ÏÉáÄ̤ɤª¤ê¤Ëɾ²Á¤µ¤ì¤ë°ú¿ô¤Ç¤¢¤ë¡£

(set-default (car '(a b c)) 23)
     ⇒ 23
(default-value 'a)
     ⇒ 23