Next: Property Lists, Previous: Definitions, Up: Symbols [Contents][Index]
GNU Emacs Lisp¤Ë¤ª¤¤¤Æ¡¢¤É¤Î¤è¤¦¤Ë¥·¥ó¥Ü¥ë¤òºîÀ®¤¹¤ë¤«¤òÍý²ò¤¹¤ë¤Ë¤Ï¡¢ Lisp¤¬¤½¤ì¤é¤ò¤É¤Î¤è¤¦¤ËÆÉ¤à¤«¤òÃΤëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ Lisp¤Ï¡¢Æ±¤¸Ê¸»ú·²¤òÆÉ¤ß¼è¤ë¤¿¤Ó¤Ë¡¢Æ±¤¸¥·¥ó¥Ü¥ë¤ò¤ß¤Ä¤±¤ë¤³¤È¤òÊݾڤ¹¤ë ɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ë¼ºÇÔ¤¹¤ë¤È´°Á´¤Ëº®Í𤷤ޤ¹¡£
Lisp¥ê¡¼¥À¤¬¥·¥ó¥Ü¥ë¤Ë½Ð²ñ¤¦¤È¡¢Ì¾Á°¤Îʸ»ú·²¤ò¤¹¤Ù¤ÆÆÉ¤ß¼è¤ê¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¤³¤ì¤é¤Îʸ»ú·²¤ò¡Ø¥Ï¥Ã¥·¥å²½¡Ù¤·¤Æ¡¢ ¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¡Êobarray¡Ë¤È¸Æ¤Ð¤ì¤ëɽ¤Îź»ú¤òõ¤·¤Þ¤¹¡£ ¥Ï¥Ã¥·¥å²½¤Ï¸úΨŪ¤Ëõº÷¤¹¤ë¼êË¡¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Jan Jones¤òÅÅÏÃÈÖ¹æÊí¤Îɽ»æ¤«¤é1¥Ú¡¼¥¸¤º¤Ä½ç¤Ëõ¤¹¤«¤ï¤ê¤Ë¡¢ J¤Î¥Ú¡¼¥¸¤«¤éõ¤·»Ï¤á¤Þ¤¹¡£ ¤³¤ì¤Ïñ½ã¤Ê¥Ï¥Ã¥·¥å²½¤Ç¤¹¡£ ¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Î³ÆÍ×ÁǤϡ¢ ¤¢¤ë¥Ï¥Ã¥·¥å¥³¡¼¥É¤òͤ¹¤ë¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤ò³ÊǼ¤·¤¿ ¥Ð¥±¥Ã¥È¡Êbucket¡Ë¤Ç¤¹¡£ ¤¢¤ë̾Á°¤òõ¤¹¤Ë¤Ï¡¢¤½¤Î̾Á°¤Î¥Ï¥Ã¥·¥å¥³¡¼¥É¤ËÂбþ¤¹¤ë¥Ð¥±¥Ã¥ÈÆâ¤Î ¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤òÄ´¤Ù¤ë¤À¤±¤Ç½½Ê¬¤Ç¤¹¡£
ÌÜŪ¤Î̾Á°¤Î¥·¥ó¥Ü¥ë¤¬¤ß¤Ä¤«¤ì¤Ð¡¢¥ê¡¼¥À¤Ï¤½¤Î¥·¥ó¥Ü¥ë¤ò»È¤¤¤Þ¤¹¡£ ¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤ËÌÜŪ¤Î̾Á°¤Î¥·¥ó¥Ü¥ë¤¬¤Ê¤±¤ì¤Ð¡¢ ¥ê¡¼¥À¤Ï¿·¤¿¤Ê¥·¥ó¥Ü¥ë¤òºîÀ®¤·¡¢¤½¤ì¤ò¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤ËÄɲä·¤Þ¤¹¡£ ¤¢¤ë̾Á°¤Î¥·¥ó¥Ü¥ë¤òõ¤·¤¿¤êÄɲ乤뤳¤È¤ò¥·¥ó¥Ü¥ë¤ò ¥¤¥ó¥¿¡¼¥ó¡Êinterning¡Ë¤¹¤ë¤È¤¤¤¤¡¢ ¤½¤Î¥·¥ó¥Ü¥ë¤ò¥¤¥ó¥¿¡¼¥ó¤·¤¿¥·¥ó¥Ü¥ë¡Êinterned symbol¡Ë¤È¸Æ¤Ó¤Þ¤¹¡£
¥¤¥ó¥¿¡¼¥ó¤¹¤ë¤³¤È¤Ç¡¢³Æ¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ë¤Ï ÆÃÄê¤Î̾Á°¤Î¥·¥ó¥Ü¥ë¤¬1¸Ä¤À¤±¤¢¤ë¤³¤È¤òÊݾڤ·¤Þ¤¹¡£ ¾¤Î»÷¤¿¤è¤¦¤Ê̾Á°¤Î¥·¥ó¥Ü¥ë¤¬Â¸ºß¤·¤Æ¤â¡¢ Ʊ¤¸¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ë¤ÏÆþ¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Æ±¤¸¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤ò»È¤Ã¤ÆÆÉ¤à¸Â¤ê¡¢ ¥ê¡¼¥À¤ÏƱ¤¸Ì¾Á°¤ËÂФ·¤ÆÆ±¤¸¥·¥ó¥Ü¥ë¤òÆÀ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤¬¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤ËÆþ¤Ã¤Æ¤¤¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£ ¼ÂºÝ¡¢¤É¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ë¤â°¤µ¤Ê¤¤¥·¥ó¥Ü¥ë¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤ò¥¤¥ó¥¿¡¼¥ó¤·¤Æ¤Ê¤¤¥·¥ó¥Ü¥ë¡Êuninterned symbols¡Ë¤È¸Æ¤Ó¤Þ¤¹¡£ ¥¤¥ó¥¿¡¼¥ó¤·¤Æ¤Ê¤¤¥·¥ó¥Ü¥ë¤Ë¤â¡¢Â¾¤Î¥·¥ó¥Ü¥ë¤ÈƱÍͤË4¤Ä¤Î¥»¥ë¤¬¤¢¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢¤½¤ì¤ò»²¾È¤¹¤ë¼êÃʤϡ¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²ð¤·¤ÆÃµ¤¹¤«¡¢ ÊÑ¿ô¤ÎÃͤȤ·¤ÆÃµ¤¹¤·¤«¤¢¤ê¤Þ¤»¤ó¡£
Emacs Lisp¤Ç¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ï¼ÂºÝ¤Ë¤Ï¥Ù¥¯¥È¥ë¤Ç¤¹¡£
¥Ù¥¯¥È¥ë¤Î³ÆÍ×ÁǤϥХ±¥Ã¥È¤Ç¤¹¡£
¤½¤ÎÃͤϡ¢¤½¤Î¥Ð¥±¥Ã¥È¤Ë¥Ï¥Ã¥·¥å²½¤µ¤ì¤ë̾Á°¤Î¥¤¥ó¥¿¡¼¥ó¤·¤¿¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤«¡¢
¤½¤Î¥Ð¥±¥Ã¥È¤¬¶õ¤Ê¤é¤Ð0¤Ç¤¹¡£
¥¤¥ó¥¿¡¼¥ó¤·¤¿³Æ¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢¥Ð¥±¥Ã¥È¤Î¤Ä¤®¤Î¥·¥ó¥Ü¥ë¤ò»Ø¤¹
¡Ê¥æ¡¼¥¶¡¼¤Ë¤Ï¸«¤¨¤Ê¤¤¡ËÆâÉôŪ¤Ê¥ê¥ó¥¯¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥ê¥ó¥¯¤Ï¸«¤¨¤Ê¤¤¤Î¤Ç¡¢mapatoms
¡Ê²¼µ¡Ë¤ò»È¤¦°Ê³°¤Ë¤Ï¡¢
¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎóÆâ¤Î¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤òõ¤¹ÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¥Ð¥±¥Ã¥ÈÆâ¤Ç¤Î¥·¥ó¥Ü¥ë¤Î½ç½ø¤Ï´Ø·¸¤¢¤ê¤Þ¤»¤ó¡£
¶õ¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ç¤Ï¡¢³ÆÍ×ÁǤÏ0¤Ç¤¹¡£
(make-vector length 0)
¤Ç¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤òºîÀ®¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤òºîÀ®¤¹¤ëÍ£°ì¤ÎÀµÅö¤ÊÊýË¡¤Ç¤¹¡£
Ťµ¤È¤·¤ÆÁÇ¿ô¤òÍѤ¤¤ë¤È¡¢¥Ï¥Ã¥·¥å²½¤Î·ë²Ì¤¬¤è¤¤·¹¸þ¤¬¤¢¤ê¤Þ¤¹¡£
2¤Î¶Ò¤è¤ê1¾®¤µ¤¤Ä¹¤µ¤â¤è¤¤·ë²Ì¤Ë¤Ê¤ê¤Þ¤¹¡£
ÆÉ¼Ô¼«¿È¤Ç¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ë¥·¥ó¥Ü¥ë¤òÆþ¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
¤¦¤Þ¤¯¤¤¤¤Þ¤»¤ó¡£
¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ë¥·¥ó¥Ü¥ë¤òÀµ¤·¤¯Æþ¤ì¤é¤ì¤ë¤Î¤Ïintern
¤À¤±¤Ç¤¹¡£
Common Lisp¤Ë´Ø¤·¤¿Ãí°Õ¡§
Common Lisp¤Ç¤Ï¡¢1¤Ä¤Î¥·¥ó¥Ü¥ë¤òÊ£¿ô¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤ë¡£
²¼µ¤Î´Ø¿ô¤Î¤Û¤È¤ó¤É¤Ï¡¢°ú¿ô¤Ë̾Á°¤ò¼è¤ê¡¢
¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤ò°ú¿ô¤Ë¼è¤ê¤Þ¤¹¡£
̾Á°¤¬Ê¸»úÎó¤Ç¤Ê¤«¤Ã¤¿¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎ󤬥٥¯¥È¥ë¤Ç¤Ê¤¤¤È¡¢
¥¨¥é¡¼wrong-type-argument
¤òÄÌÃΤ·¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢symbol¤Î̾Á°¤òɽ¤¹Ê¸»úÎó¤òÊÖ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤Î¤È¤ª¤ê¡£
(symbol-name 'foo) ⇒ "foo"
·Ù¹ð¡§
ʸ»úÎó¤Îʸ»ú¤òÃÖ¤´¹¤¨¤ë¤È¥·¥ó¥Ü¥ë¤Î̾Á°¤òÊѹ¹¤¹¤ë¤¬¡¢
¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ï¹¹¿·¤Ç¤¤Ê¤¤¤Î¤ÇÊѹ¹¤·¤Ê¤¤¤³¤È¡ª
¤³¤Î´Ø¿ô¤Ï¡¢name¡Êʸ»úÎó¤Ç¤¢¤ë¤³¤È¡Ë¤ò̾Á°¤È¤¹¤ë
¿·¤¿¤Ë³ä¤êÉÕ¤±¤¿¥¤¥ó¥¿¡¼¥ó¤·¤Æ¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤òÊÖ¤¹¡£
¤½¤ÎÃͤȴؿôÄêµÁ¤Ï¶õ¤Ç¤¢¤ê¡¢Â°À¥ê¥¹¥È¤Ïnil
¤Ç¤¢¤ë¡£
°Ê²¼¤ÎÎã¤Ç¤Ï¡¢sym
¤ÎÃͤÏfoo
¤Èeq
¤Ç¤Ï¤Ê¤¤¡£
¤Ê¤¼¤Ê¤é¡¢Ì¾Á°¤Ï‘foo’¤Ç¤Ï¤¢¤ë¤¬¡¢
¥¤¥ó¥¿¡¼¥ó¤·¤Æ¤¤¤Ê¤¤Ê̤Υ·¥ó¥Ü¥ë¤Ç¤¢¤ë¤¿¤á¡£
(setq sym (make-symbol "foo")) ⇒ foo (eq sym 'foo) ⇒ nil
¤³¤Î´Ø¿ô¤Ï¡¢name¤ò̾Á°¤È¤¹¤ë¥¤¥ó¥¿¡¼¥ó¤·¤¿¥·¥ó¥Ü¥ë¤òÊÖ¤¹¡£
¤½¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤¬¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎóobarray¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¡¢
intern
¤Ï¿·¤¿¤Ê¤â¤Î¤òºîÀ®¤·¡¢¤½¤ì¤ò¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤ËÄɲ䷤Ƥ«¤é¡¢
¤½¤ì¤òÊÖ¤¹¡£
obarray¤ò¾Êά¤¹¤ë¤È¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ôobarray
¤ÎÃͤò»È¤¦¡£
(setq sym (intern "foo")) ⇒ foo (eq sym 'foo) ⇒ t (setq sym1 (intern "foo" other-obarray)) ⇒ foo (eq sym 'foo) ⇒ nil
Common Lisp¤Ë´Ø¤·¤¿Ãí°Õ¡§
Common Lisp¤Ç¤Ï¡¢´û¸¤Î¥·¥ó¥Ü¥ë¤ò¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ë¥¤¥ó¥¿¡¼¥ó¤Ç¤¤ë¡£ Emacs Lisp¤Ç¤Ï¡¢¤³¤ì¤Ï¤Ç¤¤Ê¤¤¡£ ¤Ê¤¼¤Ê¤é¡¢
intern
¤Î°ú¿ô¤Ïʸ»úÎó¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¡¢ ¥·¥ó¥Ü¥ë¤Ç¤Ï¤Ê¤¤¡£
¤³¤Î´Ø¿ô¤Ï¡¢obarrayÆâ¤Îname¤ò̾Á°¤È¤¹¤ë¥·¥ó¥Ü¥ë¤òÊÖ¤¹¡£
¤¿¤À¤·¡¢¤½¤Î̾Á°¤Î¥·¥ó¥Ü¥ë¤¬obarray¤Ë¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢intern-soft
¤òÍѤ¤¤Æ¡¢»ØÄꤷ¤¿Ì¾Á°¤Î¥·¥ó¥Ü¥ë¤¬
¥¤¥ó¥¿¡¼¥ó¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«Ä´¤Ù¤é¤ì¤ë¡£
obarray¤ò¾Êά¤¹¤ë¤È¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ôobarray
¤ÎÃͤò»È¤¦¡£
(intern-soft "frazzle") ; ¤½¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Ï¸ºß¤·¤Ê¤¤ ⇒ nil (make-symbol "frazzle") ; ¥¤¥ó¥¿¡¼¥ó¤·¤Ê¤¤¤â¤Î¤òºî¤ë ⇒ frazzle
(intern-soft "frazzle") ; ¤½¤Î¤è¤¦¤Ê¤â¤Î¤Ï¤ß¤Ä¤«¤é¤Ê¤¤
⇒ nil
(setq sym (intern "frazzle")) ; ¥¤¥ó¥¿¡¼¥ó¤·¤¿¤â¤Î¤òºî¤ë
⇒ frazzle
(intern-soft "frazzle") ; ¤½¤Î¤è¤¦¤Ê¤â¤Î¤¬¤ß¤Ä¤«¤Ã¤¿¡ª
⇒ frazzle
(eq sym 'frazzle) ; ¤·¤«¤â¡¢¤½¤ì¤é¤ÏƱ°ì
⇒ t
¤³¤ÎÊÑ¿ô¤Ï¡¢intern
¤äread
¤¬»È¤¦É¸½à¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎóobarray¤Î³Æ¥·¥ó¥Ü¥ë¤Ë¤Ä¤¤¤Æ¡¢
1²ó¤º¤Äfunction¤ò¸Æ¤Ó½Ð¤¹¡£
¤½¤·¤Æ¡¢nil
¤òÊÖ¤¹¡£
obarray¤ò¾Êά¤¹¤ë¤È¡¢Ä̾ï¤Î¥·¥ó¥Ü¥ë¸þ¤±¤Îɸ½à¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤Ç¤¢¤ë
obarray
¤ÎÃͤò¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¡£
(setq count 0) ⇒ 0 (defun count-syms (s) (setq count (1+ count))) ⇒ count-syms (mapatoms 'count-syms) ⇒ nil count ⇒ 1871
mapatoms
¤ò»È¤Ã¤¿Ê̤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
Accessing Documentation¤Îdocumentation
¤ò»²¾È¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎóobarray¤«¤ésymbol¤òºï½ü¤¹¤ë¡£
symbol
¤¬¼ÂºÝ¤Ë¤Ï¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎóÆâ¤Ë¤Ê¤±¤ì¤Ð¡¢
unintern
¤Ï¤Ê¤Ë¤â¤·¤Ê¤¤¡£
obarray¤¬nil
¤Ç¤¢¤ë¤È¡¢¸½ºß¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎó¤ò»È¤¦¡£
symbol¤Î¥·¥ó¥Ü¥ë¤Î¤«¤ï¤ê¤Ëʸ»úÎó¤ò»ØÄꤹ¤ë¤È¡¢
¤½¤ì¤Ï¥·¥ó¥Ü¥ë¤Î̾Á°¤òɽ¤¹¡£
¤½¤·¤Æ¡¢unintern
¤Ï¤½¤Î̾Á°¤Î¥·¥ó¥Ü¥ë¤ò¡Ê¤¢¤ì¤Ð¡Ë¥ª¥Ö¥¸¥§¥¯¥ÈÇÛÎ󤫤é
ºï½ü¤¹¤ë¡£
¤½¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤¬¤Ê¤±¤ì¤Ð¡¢unintern
¤Ï¤Ê¤Ë¤â¤·¤Ê¤¤¡£
unintern
¤Ï¡¢¥·¥ó¥Ü¥ë¤òºï½ü¤·¤¿¤È¤¤Ë¤Ït
¤òÊÖ¤¹¡£
¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
Next: Property Lists, Previous: Definitions, Up: Symbols [Contents][Index]