Next: Symbol Forms, Previous: Forms, Up: Forms [Contents][Index]
¼«¸Êɾ²Á·¿¥Õ¥©¡¼¥à¡Êself-evaluating form¡Ë¤È¤Ï¡¢
¥ê¥¹¥È¤Ç¤â¥·¥ó¥Ü¥ë¤Ç¤â¤Ê¤¤Ç¤°Õ¤Î¥Õ¥©¡¼¥à¤Î¤³¤È¤Ç¤¹¡£
¼«¸Êɾ²Á·¿¥Õ¥©¡¼¥à¤Ï¤½¤ì¼«¿È¤Ëɾ²Á¤µ¤ì¡¢
ɾ²Á·ë²Ì¤Ïɾ²Á¤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱ¤¸¤â¤Î¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢¿ô25¤Ï25¤Èɾ²Á¤µ¤ì¡¢
ʸ»úÎó"foo"
¤Ïʸ»úÎó"foo"
¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
ƱÍͤˡ¢¥Ù¥¯¥È¥ë¤òɾ²Á¤·¤Æ¤â¥Ù¥¯¥È¥ë¤Î¸Ä¡¹¤ÎÍ×ÁǤòɾ²Á¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤½¤ÎÆâÍÆ¤ò¤Þ¤Ã¤¿¤¯Êѹ¹¤¹¤ë¤³¤È¤Ê¤¯¡¢Æ±¤¸¥Ù¥¯¥È¥ë¤òÊÖ¤·¤Þ¤¹¡£
'123 ; ɾ²Á¤·¤Æ¤¤¤Ê¤¤¿ô
⇒ 123
123 ; ÉáÄ̤ɤª¤êɾ²Á¡£·ë²Ì¤ÏƱ¤¸
⇒ 123
(eval '123) ; ¡Ø¼ê¤Ç¡Ùɾ²Á¡£·ë²Ì¤ÏƱ¤¸
⇒ 123
(eval (eval '123)) ; 2²óɾ²Á¤·¤Æ¤â¤Ê¤Ë¤âÊѤï¤é¤Ê¤¤
⇒ 123
Lisp¥³¡¼¥É¤Ë¤ª¤¤¤Æ¤Ï¡¢¿ô¡¢Ê¸»ú¡¢Ê¸»úÎ󡢤µ¤é¤Ë¥Ù¥¯¥È¥ë¤Ç¤µ¤¨¤â¡¢ ¤½¤ì¤é¤¬¼«¸Êɾ²Á·¿¤Ç¤¢¤ë»ö¼Â¤òÍøÍѤ·¤Æ½ñ¤¯¤Î¤¬ÉáÄ̤Ǥ¹¡£ ¤·¤«¤·¡¢ÆþÎϹ½Ê¸¤ò»ý¤¿¤Ê¤¤·¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¤è¤¦¤Ë¤·¤Þ¤»¤ó¡£ ¤È¤¤¤¦¤Î¤Ï¡¢¤½¤ì¤é¤ò¥Æ¥¥¹¥È¤È¤·¤Æ½ñ¤¯ÊýË¡¤¬¤Ê¤¤¤«¤é¤Ç¤¹¡£ ¤½¤Î¤è¤¦¤Ê·¿¤ò´Þ¤àLisp¼°¤ò¹½À®¤¹¤ë¤Ë¤Ï¡¢Lisp¥×¥í¥°¥é¥à¤ò»È¤¤¤Þ¤¹¡£
;; ¥Ð¥Ã¥Õ¥¡¥ª¥Ö¥¸¥§¥¯¥È¤ò´Þ¤à¼°¤òºî¤ë
(setq print-exp (list 'print (current-buffer)))
⇒ (print #<buffer eval.texi>)
;; ¤½¤ì¤òɾ²Á¤¹¤ë
(eval print-exp)
-| #<buffer eval.texi>
⇒ #<buffer eval.texi>