Next: Tips for Defining, Previous: Void Variables, Up: Variables [Contents][Index]
¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àdefconst
¤ädefvar
¤ÎÊÑ¿ôÄêµÁ¤ò»È¤Ã¤Æ¡¢
¥·¥ó¥Ü¥ë¤ò¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤È¤·¤Æ»È¤¦°Õ¿Þ¤òɽÌÀ¤Ç¤¤Þ¤¹¡£
Emacs Lisp¤Ç¤Ï¡¢ÄêµÁ¤Ë¤Ï3¤Ä¤ÎÌÜŪ¤¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤º¡¢¥³¡¼¥É¤òÆÉ¤à¿Í¸þ¤±¤Ë¡¢ÆÃÄê¤Î¥·¥ó¥Ü¥ë¤ò¡ÊÊÑ¿ô¤È¤·¤Æ¡ËÆÃÄêÌÜŪ¤Ë
»È¤¦°Õ¿Þ¤¬¤¢¤ë¤³¤È¤òÃΤ餻¤Þ¤¹¡£
Âè2¤Ë¡¢Lisp¥·¥¹¥Æ¥à¤ËÂФ·¤Æ¤Ï¡¢ÃͤÈÀâÌÀʸ»úÎó¤òÄ󶡤·¤Æ
¤³¤ì¤é¤Î¤³¤È¤òÅÁ¤¨¤Þ¤¹¡£
Âè3¤Ë¡¢¥×¥í¥°¥é¥àÆâ¤Î´Ø¿ô¤äÊÑ¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ë
etags
¤ämake-docfile
¤Ê¤É¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ë¾ðÊó¤òÄ󶡤·¤Þ¤¹¡£
defconst
¤Èdefvar
¤Î°ã¤¤¤Ï¡¢¼ç¤Ë¹¥¤ß¤ÎÌäÂê¤Ç¤¢¤ê¡¢
Ãͤ¬Êѹ¹¤µ¤ì¤ë¤«¤É¤¦¤«¤ò¿Í¤ËÅÁ¤¨¤Þ¤¹¡£
Emacs Lisp¤Ï¡¢defconst
¤ädefvar
¤ÎÀë¸À¤Ë´ð¤Å¤¤¤Æ
ÊÑ¿ô¤Î»È¤¤Êý¤òÀ©¸Â¤¹¤ë¤³¤È¤Ï¤·¤Þ¤»¤ó¡£
¤·¤«¤·¤Ê¤¬¤é¡¢½é´ü²½¤Ë´Ø¤·¤Æ¤Ï°ã¤¤¤¬¤¢¤ê¤Þ¤¹¡£
defconst
¤Ï̵¾ò·ï¤ËÊÑ¿ô¤ò½é´ü²½¤·¤Þ¤¹¤¬¡¢
defvar
¤ÏÊÑ¿ô¤¬¶õ¤Ç¤¢¤ë¾ì¹ç¤Ë¤Î¤ß½é´ü²½¤·¤Þ¤¹¡£
¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¡¢symbol¤òÊÑ¿ô¤È¤·¤ÆÄêµÁ¤·¡¢
½é´üÃͤäÀâÌÀʸ»úÎó¤òÀßÄꤹ¤ë¡£
¤³¤ÎÄêµÁ¤Ï¡¢¥³¡¼¥É¤òÆÉ¤à¿Í¸þ¤±¤Ë¡¢
ÃͤòÀßÄꤷ¤¿¤êÊѹ¹¤¹¤ëÊÑ¿ô¤È¤·¤Æsymbol¤ò»È¤¦¤³¤È¤òÅÁ¤¨¤ë¡£
symbol¤Ïɾ²Á¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¡£
ÄêµÁ¤¹¤ë¥·¥ó¥Ü¥ë¤Ï¡¢defvar
¤ËÌÀ¼¨Åª¤Ë¸½¤ì¤ëɬÍפ¬¤¢¤ë¡£
symbol¤ÎÃͤ¬¶õ¤Ç¤¢¤êvalue¤ò»ØÄꤷ¤Æ¤¢¤ë¤È¡¢
defvar
¤Ïvalue¤òɾ²Á¤·¡¢¤½¤Î·ë²Ì¤òsymbol¤ËÀßÄꤹ¤ë¡£
¤·¤«¤·¡¢symbol¤Ë¤¹¤Ç¤ËÃͤ¬¤¢¤ì¤Ð¡Ê¤Ä¤Þ¤ê¡¢¶õ¤Ç¤Ê¤±¤ì¤Ð¡Ë¡¢
value¤ò¤Þ¤Ã¤¿¤¯É¾²Á¤»¤º¡¢symbol¤ÎÃͤâÊѹ¹¤·¤Ê¤¤¡£
value¤ò¾Êά¤·¤¿¾ì¹ç¡¢symbol¤ÎÃͤò¤¤¤Ã¤µ¤¤Êѹ¹¤·¤Ê¤¤¡£
symbol¤Ë¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ç¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
defvar
¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤ˺îÍѤ¹¤ë¡£
¤½¤ì¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤Ë¤ÏÆÈΩ¤Ç¤¢¤ê¡¢¸½ºß¤Î¡Ê¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê¡Ë«Çû¤Ç¤Ï¤Ê¤¤¡£
defvar
¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤ¬¶õ¤Î¾ì¹ç¤Ë¥Ç¥Õ¥©¥ë¥ÈÃͤòÀßÄꤹ¤ë¡£
see Buffer-Local Variables¡£
emacs-lisp¥â¡¼¥É¤Ë¤ª¤¤¤ÆC-M-x¡Êeval-defun
¡Ë¤Ç¥È¥Ã¥×¥ì¥Ù¥ë¤Î
¥Õ¥©¡¼¥àdefvar
¤òɾ²Á¤¹¤ë¤È¡¢
eval-defun
¤ÎÆÃÊ̤ʵ¡Ç½¤Ë¤è¤ê¡¢
ÊÑ¿ô¤ÎÃͤ¬¶õ¤«¤É¤¦¤«¤òÄ´¤Ù¤º¤Ë̵¾ò·ï¤ËÊÑ¿ô¤ËÀßÄꤹ¤ë¡£
doc-string¤¬¤¢¤ì¤Ð¡¢¤½¤ì¤ÏÊÑ¿ô¤ÎÀâÌÀʸ¤ò»ØÄꤹ¤ë¡£
¡ÊÀâÌÀʸ¤ò»ØÄê¤Ç¤¤ë¤Î¤Ï¡¢ÊÑ¿ôÄêµÁ¤Î¼ç¤ÊÍøÅÀ¤Î1¤Ä¤Ç¤¢¤ë¡£¡Ë
ÀâÌÀʸ¤Ï¥·¥ó¥Ü¥ë¤Î°Àvariable-documentation
¤Ë³ÊǼ¤¹¤ë¡£
Emacs¤Î¥Ø¥ë¥×´Ø¿ô¡Êsee Documentation¡Ë¤Ï¡¢¤³¤Î°À¤òÄ´¤Ù¤ë¡£
doc-string¤ÎºÇ½é¤Îʸ»ú¤¬‘*’¤Ç¤¢¤ë¤È¡¢
¤³¤ÎÊÑ¿ô¤ò¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥ó¤È¹Í¤¨¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
¤³¤ì¤Ë¤è¤ê¡¢¥æ¡¼¥¶¡¼¤Ï¥³¥Þ¥ó¥Éset-variable
¤äedit-options
¤ò
»È¤Ã¤Æ´Êñ¤ËÊÑ¿ô¤òÀßÄê¤Ç¤¤ë¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥ó¤ÎÊÑ¿ô¤Ë¤Ï¡¢
defvar
¤Ç¤Ï¤Ê¤¯defcustom
¤ò»È¤Ã¤¿¤Û¤¦¤¬¤è¤¯¡¢
¤½¤¦¤¹¤ì¤Ð¥«¥¹¥¿¥Þ¥¤¥º¾ðÊó¤ò»ØÄê¤Ç¤¤ë¡£
see Customization¡£
¤¤¤¯¤Ä¤«Îã¤ò¤¢¤²¤ë¡£
¤Ä¤®¤Î¥Õ¥©¡¼¥à¤Ïfoo
¤òÄêµÁ¤¹¤ë¤¬½é´ü²½¤Ï¤·¤Ê¤¤¡£
(defvar foo) ⇒ foo
¤Ä¤®¤ÎÎã¤Ï¡¢bar
¤ÎÃͤò23
¤Ë½é´ü²½¤·¡¢ÀâÌÀʸ»úÎó¤òÍ¿¤¨¤ë¡£
(defvar bar 23 "The normal weight of a bar.") ⇒ bar
¤Ä¤®¤ÎÎã¤Ï¡¢bar
¤ÎÀâÌÀʸ»úÎó¤òÊѹ¹¤·¡¢
¤³¤ÎÊÑ¿ô¤ò¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥ó¤Ë¤¹¤ë¡£
¤·¤«¤·¡¢bar
¤Ë¤Ï¤¹¤Ç¤ËÃͤ¬ÀßÄꤷ¤Æ¤¢¤ë¤Î¤Ç¡¢
¤½¤ÎÃͤÏÊѹ¹¤·¤Ê¤¤¡£
¡Ê¤µ¤é¤Ë(1+ nil)
¤Ïɾ²Á¤¹¤ë¤È¥¨¥é¡¼¤Ë¤Ê¤ë¤¬¡¢
ɾ²Á¤µ¤ì¤Ê¤¤¤Î¤Ç¥¨¥é¡¼¤Ï¤Ê¤¤¡£¡Ë
(defvar bar (1+ nil) "*The normal weight of a bar.") ⇒ bar
bar ⇒ 23
¤Ä¤®¤ÎÎã¤Ï¡¢¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àdefvar
¤ËÅù²Á¤Ê¼°¤Ç¤¢¤ë¡£
(defvar symbol value doc-string) ≡ (progn (if (not (boundp 'symbol)) (setq symbol value)) (if 'doc-string (put 'symbol 'variable-documentation 'doc-string)) 'symbol)
¥Õ¥©¡¼¥àdefvar
¤Ïsymbol¤òÊÖ¤¹¤¬¡¢
Ä̾盧¤Î¥Õ¥©¡¼¥à¤Ï¥Õ¥¡¥¤¥ë¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Ç»È¤ï¤ì¡¢¤½¤³¤Ç¤ÏÃͤϴط¸¤Ê¤¤¡£
¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¡¢symbol¤òÊÑ¿ô¤È¤·¤ÆÄêµÁ¤·½é´ü²½¤¹¤ë¡£
¤³¤ÎÄêµÁ¤Ï¡¢¥³¡¼¥É¤òÆÉ¤à¿Í¸þ¤±¤Ë¡¢
symbol¤Ï¤³¤ì°Ê¹ßɸ½à¤Î¥°¥í¡¼¥Ð¥ëÃͤò»ý¤Á¡¢
¥æ¡¼¥¶¡¼¤ä¾¤Î¥×¥í¥°¥é¥à¤¬Êѹ¹¤¹¤Ù¤¤Ç¤Ê¤¤¤³¤È¤òÅÁ¤¨¤ë¡£
symbol¤Ïɾ²Á¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¡£
ÄêµÁ¤¹¤ë¥·¥ó¥Ü¥ë¤Ï¡¢defconst
¤ËÌÀ¼¨Åª¤Ë¸½¤ì¤ëɬÍפ¬¤¢¤ë¡£
defconst
¤Ï¡¢value¤¬¤¢¤ì¤Ð¤Ä¤Í¤Ëvalue¤òɾ²Á¤·¡¢
¤½¤Î·ë²Ì¤òsymbol¤ËÀßÄꤹ¤ë¡£
symbol¤Ë¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
defconst
¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤòÀßÄꤷ¡¢
¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃͤˤǤϤʤ¤¡£
¡Ê¤·¤«¤·¡¢defconst
¤ÇÄêµÁ¤¹¤ë¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢
¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤òºî¤ë¤Ù¤¤Ç¤Ï¤Ê¤¤¡£¡Ë
¤Ä¤®¤ÎÎã¤Ç¤Ï¡¢pi
¤Ï¡¢¡Ê¥¤¥ó¥Ç¥£¥¢¥Ê½£Î©Ë¡ÉܤϤ¤¤¦¤Ë¤ª¤è¤Ð¤º¡Ë
¤À¤ì¤âÊѹ¹¤¹¤Ù¤¤Ç¤Ï¤Ê¤¤¤È¹Í¤¨¤é¤ì¤ëÄê¿ô¤Ç¤¢¤ë¡£
¤·¤«¤·¡¢2ÈÖÌܤΥե©¡¼¥à¤«¤é¤ï¤«¤ë¤è¤¦¤Ë¡¢¤³¤ì¤Ïñ¤Ë½õ¸À¤Ç¤·¤«¤Ê¤¤¡£
(defconst pi 3.1415 "Pi to five places.") ⇒ pi
(setq pi 3) ⇒ pi
pi ⇒ 3
¤³¤Î´Ø¿ô¤Ï¡¢variable¤¬¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥ó¡¢¤Ä¤Þ¤ê¡¢
¥«¥¹¥¿¥Þ¥¤¥º¤Î¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬ÀßÄꤹ¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿ÊÑ¿ô¤Ç¤¢¤ë¤È¡¢
t
¤òÊÖ¤·¡¢¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
¡Ê¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥ó¸þ¤±°Ê³°¤ÎÊÑ¿ô¤Ï¡¢Lisp¥×¥í¥°¥é¥à¤ÎÆâÉôÌÜŪÍѤˤ¢¤ê¡¢
¤½¤ì¤é¤Ë¤Ä¤¤¤Æ¥æ¡¼¥¶¡¼¤¬ÃΤëɬÍפϤʤ¤¡£¡Ë
¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥óÊÑ¿ô¤Ï¡¢
°Àvariable-documentation
¤ÎºÇ½é¤Îʸ»ú¤Ç¾¤ÎÊÑ¿ô¤È¶èÊ̤µ¤ì¤ë¡£
¤½¤Î°À¤¬Â¸ºß¤·¤ÆÊ¸»úÎó¤Ç¤¢¤ê¡¢ºÇ½é¤Îʸ»ú¤¬‘*’¤Ç¤¢¤ì¤Ð¡¢
¤½¤ÎÊÑ¿ô¤Ï¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë¡£
¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥óÊÑ¿ô¤Ë°Àvariable-interactive
¤¬¤¢¤ë¤È¡¢
¥³¥Þ¥ó¥Éset-variable
¤Ï¤½¤Î°ÀÃͤò»È¤Ã¤Æ¡¢
ÊÑ¿ô¤Î¿·¤·¤¤ÃÍ¤ÎÆÉ¤ß¼è¤ê¤òÀ©¸æ¤·¤Þ¤¹¡£
¤³¤Î°ÀÃͤϡ¢interactive
¤Î°ú¿ô¡Êsee Using Interactive¡Ë
¤Î¤è¤¦¤Ë»È¤ï¤ì¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤Îµ¡Ç½¤Ïdefcustom
¡Êsee Customization¡Ë¤Ë¤è¤ê
¤Û¤È¤ó¤ÉÇÑ¤ì¤Æ¤¤¤Þ¤¹¡£
·Ù¹ð¡§
ÊÑ¿ô¤Ë¥í¡¼¥«¥ë«Çû¤¬¤¢¤ë¤È¤¤Ë
¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àdefconst
¤ädefvar
¤ò»È¤¦¤È¡¢
¥í¡¼¥«¥ë«Çû¤ÎÃͤòÊѹ¹¤·¡¢¥°¥í¡¼¥Ð¥ë«Çû¤ÏÊѹ¹¤·¤Ê¤¤¡£
¤³¤ì¤Ï˾¤à¸ú²Ì¤Ç¤Ï¤Ê¤¤¡£
¤³¤ì¤òËɤ°¤Ë¤Ï¡¢¤³¤ì¤é¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¥Õ¥¡¥¤¥ë¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Ç»È¤¦¡£
¤½¤¦¤¹¤ì¤Ð¡¢ÉáÄ̤Ï͸ú¤Ê¥í¡¼¥«¥ë«Çû¤Ï¤Ê¤¤¡£
¤µ¤é¤Ë¡¢ÊÑ¿ô¤Î¥í¡¼¥«¥ë«Çû¤òºî¤ë¤Þ¤¨¤Ë¡¢
³Î¼Â¤Ë¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Æ¤ª¤¯¡£