Next: , Previous: Symbols, Up: Symbols   [Contents][Index]


7.1 ¥·¥ó¥Ü¥ë¤Î¹½À®Í×ÁÇ

³Æ¥·¥ó¥Ü¥ë¤Ë¤Ï4¤Ä¤Î¹½À®Í×ÁǡʤĤޤꡢ¡Ø¥»¥ë¡Ù¡Ë¤¬¤¢¤ê¡¢ ¤½¤ì¤¾¤ì¤ÇÊ̤Υª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤·¤Þ¤¹¡£

ɽ¼¨Ì¾¡Êprint name¡Ë

ɽ¼¨Ì¾¥»¥ë¡Êprint name cell¡Ë¤Ë¤Ï¡¢ ¥·¥ó¥Ü¥ë¤ÎÆþÎϤäɽ¼¨¤Ë»È¤¦Ì¾Á°¤Ç¤¢¤ëʸ»úÎ󤬯þ¤Ã¤Æ¤¤¤ë¡£ Creating Symbols¤Îsymbol-name¤ò»²¾È¡£

ÃÍ¡Êvalue¡Ë

ÃÍ¥»¥ë¡Êvalue cell¡Ë¤Ë¤Ï¡¢ ¥·¥ó¥Ü¥ë¤ÎÊÑ¿ô¤È¤·¤Æ¤Î¸½ºßÃͤ¬Æþ¤Ã¤Æ¤¤¤ë¡£ ¥·¥ó¥Ü¥ë¤ò¥Õ¥©¡¼¥à¤È¤·¤Æ»ÈÍѤ·¤¿¤È¤­¡¢ ¥Õ¥©¡¼¥à¤ÎÃͤϥ·¥ó¥Ü¥ë¤ÎÃÍ¥»¥ë¤ÎÆâÍÆ¤Ç¤¢¤ë¡£ Accessing Variables¤Îsymbol-value¤ò»²¾È¡£

´Ø¿ô¡Êfunction¡Ë

´Ø¿ô¥»¥ë¡Êfunction cell¡Ë¤Ë¤Ï¡¢¥·¥ó¥Ü¥ë¤Î´Ø¿ôÄêµÁ¤¬Æþ¤Ã¤Æ¤¤¤ë¡£ ¥·¥ó¥Ü¥ë¤ò´Ø¿ô¤È¤·¤Æ»ÈÍѤ·¤¿¤È¤­¡¢¤½¤Î´Ø¿ôÄêµÁ¤ò»È¤¦¡£ ¥·¥ó¥Ü¥ë¤¬¡¢ÊÔ½¸¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î¥­¡¼¥Þ¥Ã¥×¤ä¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤ò ɽ¤¹¤È¤­¤â¤³¤Î¥»¥ë¤ò»È¤¦¡£ ³Æ¥·¥ó¥Ü¥ë¤Ë¤ÏÃÍ¥»¥ë¤È´Ø¿ô¥»¥ë¤¬ÊÌ¡¹¤Ë¤¢¤ë¤Î¤Ç¡¢ ÊÑ¿ô̾¤È´Ø¿ô̾¤Ï¾×ÆÍ¤·¤Ê¤¤¡£ Function Cells¤Îsymbol-function¤ò»²¾È¡£

°À­¥ê¥¹¥È¡Êproperty list¡Ë

°À­¥ê¥¹¥È¥»¥ë¡Êproperty list cell¡Ë¤Ë¤Ï¡¢ ¥·¥ó¥Ü¥ë¤Î°À­¥ê¥¹¥È¤¬Æþ¤Ã¤Æ¤¤¤ë¡£ Property Lists¤Îsymbol-plist¤ò»²¾È¡£

ɽ¼¨Ì¾¥»¥ë¤Ï¤Ä¤Í¤Ëʸ»úÎó¤òÊÝ»ý¤·¤Æ¤¤¤Æ¡¢Êѹ¹¤Ç¤­¤Þ¤»¤ó¡£ ¾¤Î3¤Ä¤Î¥»¥ë¤Ë¤Ï¡¢Ç¤°Õ¤Î»ØÄꤷ¤¿Lisp¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ÄÊ̤ËÀßÄê¤Ç¤­¤Þ¤¹¡£

ɽ¼¨Ì¾¥»¥ë¤Ï¡¢¥·¥ó¥Ü¥ë¤Î̾Á°¤Ç¤¢¤ëʸ»úÎó¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£ ¥·¥ó¥Ü¥ë¤Ï¥Æ¥­¥¹¥È¾å¤Ï¤½¤Î̾Á°¤Çɽ¸½¤µ¤ì¤ë¤Î¤Ç¡¢ 2¤Ä¤Î¥·¥ó¥Ü¥ë¤¬Æ±¤¸Ì¾Á°¤ò»ý¤¿¤Ê¤¤¤³¤È¤¬½ÅÍפǤ¹¡£ Lisp¥ê¡¼¥À¤¬¤³¤Î¤³¤È¤òÊݾڤ·¤Þ¤¹¡£ ¥·¥ó¥Ü¥ë¤òÆÉ¤ß¼è¤ë¤¿¤Ó¤Ë¡¢¿·¤¿¤Ë¥·¥ó¥Ü¥ë¤òºîÀ®¤¹¤ë¤Þ¤¨¤Ë¡¢ »ØÄꤷ¤¿Ì¾Á°¤Î¥·¥ó¥Ü¥ë¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«Ä´¤Ù¤Þ¤¹¡£ ¡ÊGNU Emacs Lisp¤Ç¤Ï¡¢¤³¤ì¤Ë¤Ï¥Ï¥Ã¥·¥å¥¢¥ë¥´¥ê¥º¥à¤È ¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎóobarray¤ò»È¤¦¡£ see Creating Symbols¡£¡Ë

ÉáÄ̤λȤ¤Êý¤Ç¤Ï¡¢´Ø¿ô¥»¥ë¤Ë¤Ï´Ø¿ô¡Êsee Functions¡Ë¤ä ¥Þ¥¯¥í¡Êsee Macros¡Ë¤¬Æþ¤Ã¤Æ¤¤¤Æ¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤½¤Î¤è¤¦¤Ë²¾Äꤷ¤Þ¤¹¡Êsee Evaluation¡Ë¡£ ¥·¥ó¥Ü¥ë¤Î´Ø¿ô¥»¥ë¤Ë¤Ï¡¢ ¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥í¡Êsee Keyboard Macros¡Ë¡¢¥­¡¼¥Þ¥Ã¥×¡Êsee Keymaps¡Ë¡¢ ¼«Æ°¥í¡¼¥É¥ª¥Ö¥¸¥§¥¯¥È¡Êsee Autoloading¡Ë¤¬Æþ¤Ã¤Æ¤¤¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ ¡Ø´Ø¿ôfoo¡Ù¤È¤¤¤Ã¤¿¾ì¹ç¡¢¼ÂºÝ¤Ë¤Ï¡¢¥·¥ó¥Ü¥ëfoo¤Î´Ø¿ô¥»¥ë¤Ë Æþ¤Ã¤Æ¤¤¤ë´Ø¿ô¤ò°ÕÌ£¤·¤Þ¤¹¡£ ɬÍפʾì¹ç¤Ë¸Â¤Ã¤Æ¶èÊ̤·¤Þ¤¹¡£

°À­¥ê¥¹¥È¥»¥ë¤Ï¡¢Ä̾Àµ¤·¤¤·Á¼°¤Î°À­¥ê¥¹¥È¡Êsee Property Lists¡Ë¤¬ Æþ¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¡¢¤µ¤Þ¤¶¤Þ¤Ê´Ø¿ô¤¬¤½¤Î¤è¤¦¤Ë²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£

´Ø¿ô¥»¥ë¤äÃÍ¥»¥ë¤Ï¶õ¡Êvoid¡Ë¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ ¤Ä¤Þ¤ê¡¢¥»¥ë¤Ï¤É¤ó¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤â»Ø¤·¤Æ¤¤¤Þ¤»¤ó¡£ ¡Ê¤³¤Î¤³¤È¤Ï¡¢¥·¥ó¥Ü¥ëvoid¤òÊÝ»ý¤·¤Æ¤¤¤ë¤È¤«¡¢ ¥·¥ó¥Ü¥ënil¤òÊÝ»ý¤·¤Æ¤¤¤ë¤Î¤È¤Ï°ã¤¦¡£¡Ë ¶õ¤Ç¤¢¤ë´Ø¿ô¥»¥ë¤äÃÍ¥»¥ë¤ò»²¾È¤¹¤ë¤È¡¢ ¤½¤Î·ë²Ì¤Ï‘Symbol's value as variable is void’ ¡Ê¡ÖÊÑ¿ô¤È¤·¤Æ¤Î¥·¥ó¥Ü¥ë¤ÎÃͤ϶õ¡×¡Ë¤Î¤è¤¦¤Ê¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£

4¤Ä¤Î´Ø¿ô¡¢symbol-name¡¢symbol-value¡¢ symbol-plist¡¢symbol-function¤Ï¡¢ ¥·¥ó¥Ü¥ë¤Î4¤Ä¤Î¥»¥ë¤ÎÆâÍÆ¤òÊÖ¤·¤Þ¤¹¡£ °Ê²¼¤Ë¡¢¥·¥ó¥Ü¥ëbuffer-file-name¤Î 4¤Ä¤Î¥»¥ë¤ÎÆâÍÆ¤òɽ¼¨¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£

(symbol-name 'buffer-file-name)
     ⇒ "buffer-file-name"
(symbol-value 'buffer-file-name)
     ⇒ "/gnu/elisp/symbols.texi"
(symbol-plist 'buffer-file-name)
     ⇒ (variable-documentation 29529)
(symbol-function 'buffer-file-name)
     ⇒ #<subr buffer-file-name>

¤³¤Î¥·¥ó¥Ü¥ë¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤ÇˬÌ䤷¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÊÝ»ý¤¹¤ë¤Î¤Ç¡¢ ÃÍ¥»¥ë¤ÎÆâÍÆ¤ÏËܽñEmacs Lisp¥Þ¥Ë¥å¥¢¥ë¤ÎËܾϤΥ½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£ °À­¥ê¥¹¥È¥»¥ë¤Ë¤Ï¡¢¥ê¥¹¥È(variable-documentation 29529)¤¬Æþ¤Ã¤Æ¤¤¤Æ¡¢ ¥É¥­¥å¥á¥ó¥È´Ø¿ô¤ËÂФ·¤Æ¥Õ¥¡¥¤¥ëDOC-version¤Î¤É¤³¤Ë ÊÑ¿ôbuffer-file-name¤ÎÀâÌÀʸ»úÎ󤬯þ¤Ã¤Æ¤¤¤ë¤«ÅÁ¤¨¤Þ¤¹¡£ ¡Ê29529¤Ï¡¢Åö³ºÀâÌÀʸ»úÎó¤Î³«»Ï°ÌÃÖ¤òɽ¤¹ DOC-version¤ÎÀèÆ¬¤«¤é¤Î¥ª¥Õ¥»¥Ã¥È¡£ Documentation Basics¤ò»²¾È¡£¡Ë ´Ø¿ô¥»¥ë¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÊÖ¤¹´Ø¿ô¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£ buffer-file-name¤Ï´ðËÜ´Ø¿ô¤Î̾Á°¤Ç¤¹¡£ ¤³¤ì¤Ë¤ÏÆþÎϹ½Ê¸¤Ï¤Ê¤¯¡¢ ¥Ï¥Ã¥·¥åµ­Ë¡¡Êsee Primitive Function Type¡Ë¤Çɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ Lisp¤Ç½ñ¤¤¤¿´Ø¿ô¤òɽ¤¹¥·¥ó¥Ü¥ë¤Ç¤Ï¡¢ ¤³¤Î¥»¥ë¤Ë¥é¥à¥À¼°¡Ê¤¢¤ë¤¤¤Ï¥Ð¥¤¥È¥³¡¼¥É¥ª¥Ö¥¸¥§¥¯¥È¡Ë¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£