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


8.1 ɾ²Á¤È¤Ï

Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¡¢¤Ä¤Þ¤ê¡¢¥¨¥Ð¥ê¥å¥¨¡¼¥¿¤Ï¡¢ Í¿¤¨¤é¤ì¤¿¼°¤ÎÃͤò·×»»¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£ Lisp¤Ç½ñ¤¤¤¿´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¥¨¥Ð¥ê¥å¥¨¡¼¥¿¤Ï¡¢¤½¤Î´Ø¿ôËÜÂÎÆâ¤Î ¼°¤òɾ²Á¤¹¤ë¤³¤È¤Ç´Ø¿ô¤ÎÃͤò·×»»¤·¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤É¤ó¤ÊLisp¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤Ç¤â¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£

¥¨¥Ð¥ê¥å¥¨¡¼¥¿¤Ë¤è¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î°·¤¤Êý¤Ï¡¢ ¼ç¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿·¿¤Ë°Í¸¤·¤Þ¤¹¡£

ɾ²Á¤¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿Lisp¥ª¥Ö¥¸¥§¥¯¥È¤ò ¼°¡Êexpression¡Ë¤È¤«¥Õ¥©¡¼¥à¡Êform¡Ë¤È¸Æ¤Ó¤Þ¤¹¡£ ¼°¤Ï¥Ç¡¼¥¿¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤êñ¤Ê¤ë¥Æ¥­¥¹¥È¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦»ö¼Â¤Ï¡¢ LispÍ͸À¸ì¤Èŵ·¿Åª¤Ê¥×¥í¥°¥é¥à¸À¸ì¤È¤Î´ðËÜŪ¤Ê°ã¤¤¤Î1¤Ä¤Ç¤¹¡£ ¤É¤ó¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤âɾ²Á¤Ç¤­¤Þ¤¹¤¬¡¢¼ÂÍѾå¤Ï¡¢ ¿ô¡¢¥·¥ó¥Ü¥ë¡¢¥ê¥¹¥È¡¢Ê¸»úÎó¤òɾ²Á¤¹¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¤¹¡£

Lisp¼°¤òÆÉ¤ß¼è¤ê¤½¤Î¼°¤òɾ²Á¤¹¤ë¤³¤È¤Ï¤È¤Æ¤â°ìÈÌŪ¤Ê¤³¤È¤Ç¤¹¤¬¡¢ ÆÉ¤ß¼è¤ê¤Èɾ²Á¤ÏÊÌ¡¹¤Îưºî¤Ç¤¢¤ê¡¢¤½¤ì¤¾¤ì¤òÊÌ¡¹¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ÆÉ¤ß¼è¤ê¼«ÂΤǤϡ¢¤Ê¤Ë¤âɾ²Á¤·¤Þ¤»¤ó¡£ Lisp¥ª¥Ö¥¸¥§¥¯¥È¤Îɽ¼¨É½¸½¤ò¥ª¥Ö¥¸¥§¥¯¥È¤½¤Î¤â¤Î¤ËÊÑ´¹¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òɾ²Á¤¹¤Ù¤­¥Õ¥©¡¼¥à¤È¤¹¤ë¤«¡¢ ¤Þ¤Ã¤¿¤¯Ê̤ÎÌÜŪ¤Ë»È¤¦¤«¤Ï¡¢read¤Î¸Æ¤Ó½Ð¤·Â¦¤Ç·è¤Þ¤ê¤Þ¤¹¡£

ɾ²Á¤È¥³¥Þ¥ó¥É¥­¡¼¤Î²ò¼á¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¥¨¥Ç¥£¥¿¥³¥Þ¥ó¥É¥ë¡¼¥×¤Ï¡¢Í­¸ú¤Ê¥­¡¼¥Þ¥Ã¥×¤òÍѤ¤¤Æ ¥­¡¼¥Ü¡¼¥ÉÆþÎϤò¥³¥Þ¥ó¥É¡ÊÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤·²Äǽ¤Ê´Ø¿ô¡Ë¤ËÊÑ´¹¤·¡¢ call-interactively¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¤òµ¯Æ°¤·¤Þ¤¹¡£ ¥³¥Þ¥ó¥É¤¬Lisp¤Ç½ñ¤¤¤Æ¤¢¤ì¤Ð¡¢ ¥³¥Þ¥ó¥É¼«ÂΤμ¹ԤˤÏɾ²Á¤¬´Ø¤ï¤Ã¤Æ¤­¤Þ¤¹¤¬¡¢ ¤½¤Î¤³¤È¤Ï¡¢¥³¥Þ¥ó¥É¥­¡¼¤Î²ò¼á¼«ÂÎ¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£

ɾ²Á¤ÏºÆµ¢Åª¤Ê½èÍý¤Ç¤¹¡£ ¤Ä¤Þ¤ê¡¢¥Õ¥©¡¼¥à¤Îɾ²Á¤Ç¤Ï¡¢ eval¤ò¸Æ¤Ó½Ð¤·¤Æ¤½¤Î¥Õ¥©¡¼¥à¤Î°ìÉôʬ¤òɾ²Á¤¹¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤Îɾ²Á¤Ë¤ª¤¤¤Æ¤Ï¡¢¤Þ¤º¡¢ ´Ø¿ô¸Æ¤Ó½Ð¤·¤Î³Æ°ú¿ô¤òɾ²Á¤·¤Æ¤«¤é¡¢´Ø¿ôËÜÂΤγƥե©¡¼¥à¤òɾ²Á¤·¤Þ¤¹¡£ (car x)¤Îɾ²Á¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ¤Þ¤ººÇ½é¤Ëx¤òºÆµ¢Åª¤Ëɾ²Á¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤½¤ÎÃͤò´Ø¿ôcar¤Î°ú¿ô¤È¤·¤ÆÅϤ»¤ë¤è¤¦¤Ë¤¹¤ë¤Î¤Ç¤¹¡£

´Ø¿ô¸Æ¤Ó½Ð¤·¤Îɾ²Á¤Ë¤ª¤¤¤Æ¤Ï¡¢ºÇ½ªÅª¤Ë»ØÄꤷ¤¿´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ See Functions¡£ ´Ø¿ô¤Î¼Â¹Ô¤½¤Î¤â¤Î¤â¡¢´Ø¿ôÄêµÁ¤òɾ²Á¤¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ ¤¢¤ë¤¤¤Ï¡¢´Ø¿ô¤ÏC¸À¸ì¤Ç¼ÂÁõ¤µ¤ì¤¿Lisp´ðËÜ´Ø¿ô¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢ ¥Ð¥¤¥È¥³¡¼¥É´Ø¿ô¤«¤â¤·¤ì¤Þ¤»¤ó¡Êsee Byte Compilation¡Ë¡£

¥Õ¥©¡¼¥à¤Îɾ²Á¤Ï¡¢´Ä¶­¡Êenvironment¡Ë¤È¸Æ¤Ð¤ì¤ëʸ̮¤Ë¤ª¤¤¤Æ ¹Ô¤ï¤ì¤Þ¤¹¡£ ´Ä¶­¤È¤Ï¡¢¤¹¤Ù¤Æ¤ÎLispÊÑ¿ô¤Î¸½ºßÃͤÈ«Çû¤Ç¤¹ 7¡£ ¥Õ¥©¡¼¥à¤¬¿·¤¿¤Ê«Çû¤òºî¤é¤º¤ËÊÑ¿ô¤ò»²¾È¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ ¸½ºß¤Î´Ä¶­¤Ë¤ª¤±¤ë¤½¤ÎÊÑ¿ô¤Î«Çû¤ÎÃͤò»È¤¤¤Þ¤¹¡£ See Variables¡£

¥Õ¥©¡¼¥à¤òɾ²Á¤¹¤ë¤È¡¢ÊÑ¿ô¡Êsee Local Variables¡Ë¤ò«Çû¤·¤Æ¡¢ ºÆµ¢ÅªÉ¾²Á¤Î¤¿¤á¤Î¿·¤¿¤Ê´Ä¶­¤òºî¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î´Ä¶­¤Ï°ì»þŪ¤Ê¤â¤Î¤Ç¡¢¤½¤Î¥Õ¥©¡¼¥à¤Îɾ²Á¤ò´°Î»¤¹¤ë¤È ¾Ã¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¥Õ¥©¡¼¥à¤Ï¹±µ×Ū¤ÊÊѹ¹¤ò¹Ô¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ ¤³¤Î¤è¤¦¤ÊÊѹ¹¤òÉûºîÍÑ¡Êside effects¡Ë¤È¸Æ¤Ó¤Þ¤¹¡£ ÉûºîÍѤò»ý¤Ä¥Õ¥©¡¼¥à¤ÎÎã¤Ï¡¢(setq foo 1)¤Ç¤¹¡£

¥Õ¥©¡¼¥à¤Î³Æ¼ïÎऴ¤È¤Îɾ²Á¤Î°ÕÌ£¤Î¾ÜºÙ¤Ï¡¢ °Ê²¼¤ÇÀâÌÀ¤·¤Þ¤¹¡Êsee Forms¡Ë¡£


Footnotes

(7)

¡Ø´Ä¶­¡Ù¤Î¤³¤ÎÄêµÁ¤Ï¡¢¥×¥í¥°¥é¥à¤Î·ë²Ì¤Ë±Æ¶Á¤¹¤ë ¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤ò´Þ¤à¤³¤È¤Ï°Õ¿Þ¤·¤Æ¤¤¤Ê¤¤¡£