Next: , Previous: Lambda Expressions, Up: Functions   [Contents][Index]


11.3 ´Ø¿ô¤ò̿̾¤¹¤ë

¤Û¤È¤ó¤É¤Î·×»»µ¡¸À¸ì¤Ç¤Ï¡¢³Æ´Ø¿ô¤Ë¤Ï̾Á°¤¬¤¢¤ê¤Þ¤¹¡£ ̾Á°¤Î¤Ê¤¤´Ø¿ô¤È¤¤¤¦¹Í¤¨¤ÏËܼÁŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ Lisp¤Ç¤Ï¡¢¤â¤Ã¤È¤â¸·Ì©¤Ë¤¤¤¨¤Ð¡¢´Ø¿ô¤Ë¤Ï̾Á°¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ´Ø¿ô¤Ï¡¢ÀèÆ¬Í×ÁǤ¬Ã±¤Ëlambda¤Ç¤¢¤ë¥ê¥¹¥È¡¢ ¥Ð¥¤¥È¥³¡¼¥É´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È¡¢¤¢¤ë¤¤¤Ï¡¢´ðËÜ´Ø¿ô¤Îsubr¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£

¤·¤«¤·¤Ê¤¬¤é¡¢¥·¥ó¥Ü¥ë¤Ï´Ø¿ô¤Î̾Á°¤È¤·¤ÆÆ¯¤­¤Þ¤¹¡£ ¥·¥ó¥Ü¥ë¤Î´Ø¿ô¥»¥ë¡Êfunction cell¡¢see Symbol Components¡Ë¤Ë ´Ø¿ô¤òÆþ¤ì¤ë¤È¡¢¤³¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤¦¤¹¤ë¤È¡¢¥·¥ó¥Ü¥ë¤½¤Î¤â¤Î¤ÏÀµÅö¤Ê¸Æ¤Ó½Ð¤·²Äǽ¤Ê´Ø¿ô¤È¤Ê¤ê¡¢ ´Ø¿ô¥»¥ë¤¬»²¾È¤¹¤ë¥ê¥¹¥È¤äsubr¥ª¥Ö¥¸¥§¥¯¥È¤ÈÅù²Á¤Ë¤Ê¤ê¤Þ¤¹¡£ ´Ø¿ô¥»¥ë¤ÎÆâÍÆ¤ò¥·¥ó¥Ü¥ë¤Î´Ø¿ôÄêµÁ¡Êfunction definition¡Ë¤È¤â¸Æ¤Ó¤Þ¤¹¡£ ¥·¥ó¥Ü¥ë¤Î¤«¤ï¤ê¤Ë¥·¥ó¥Ü¥ë¤Î´Ø¿ôÄêµÁ¤ò»È¤¦½èÍý¤ò ¥·¥ó¥Ü¥ë¤Î´Ø¿ô´ÖÀÜ¡Êsymbol function indirection¡Ë¤È¸Æ¤Ó¤Þ¤¹¡£ See Function Indirection¡£

¼ÂÍѾ塢¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î´Ø¿ô¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤Ë¤·¤ÆÌ¾Á°¤¬ÉÕ¤¤¤Æ¤¤¤Æ¡¢ ¤½¤Î̾Á°¤Ç»²¾È¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥·¥ó¥Ü¥ëcar¤Ï¡¢ ¤½¤Î´Ø¿ô¥»¥ë¤Ë´ðËÜ´Ø¿ô¤Îsubr¥ª¥Ö¥¸¥§¥¯¥È#<subr car>¤¬³ÊǼ¤·¤Æ¤¢¤ë¤Î¤Ç¡¢ ¤½¤Îưºî¤ò¹Ô¤¦´Ø¿ô¤È¤·¤ÆÆ°ºî¤·¤Þ¤¹¡£

´Ø¿ô¤Ë̾Á°¤òÍ¿¤¨¤ë¤Î¤Ï¡¢Lisp¼°¤«¤é¤½¤Î̾Á°¤Ç»²¾È¤Ç¤­¤ë¤ÈÊØÍø¤À¤«¤é¤Ç¤¹¡£ #<subr car>¤Î¤è¤¦¤Ê´ðËÜ´Ø¿ô¤Îsubr¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¡¢ ̾Á°¤Ï¤½¤ì¤é¤ò»²¾È¤¹¤ëÍ£°ì¤ÎÊýË¡¤Ç¤¹¡£ ¤½¤Î¤è¤¦¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤ÏÆþÎϹ½Ê¸¤Ï¤¢¤ê¤Þ¤»¤ó¡£ Lisp¤Ç½ñ¤¤¤¿´Ø¿ô¤Ç¤Ï¡¢ÌÀ¼¨Åª¤Ê¥é¥à¥À¼°¤è¤ê̾Á°¤ò»È¤¦¤Û¤¦¤¬¤è¤êÊØÍø¤Ç¤¹¡£ ¤Þ¤¿¡¢´Ø¿ô¤Ë̾Á°¤¬¤¢¤ì¤Ð¤½¤ì¤ò»²¾È¤Ç¤­¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ºÆµ¢¸Æ¤Ó½Ð¤·¤¬¤Ç¤­¤Þ¤¹¡£ ´Ø¿ô¤Î̾Á°¤ò¤½¤ÎÄêµÁ¤½¤Î¤â¤Î¤Ë½ñ¤¯¤³¤È¤Ï¡¢ ´Ø¿ôÄêµÁ¤¬¤½¤ì¼«¿È¤ò»Ø¤¹¤è¤¦¤Ë¤¹¤ë ¡Ê¤³¤ì¤ÏÉÔ²Äǽ¤Ç¤Ï¤Ê¤¤¤Ë¤·¤Æ¤â¡¢¼ÂÍѾå¤Ï¤µ¤Þ¤¶¤Þ¤Ê·çÅÀ¤¬¤¢¤ë¡Ë¤è¤ê¤Ï¡¢ ¤È¤Æ¤âÊØÍø¤Ç¤¹¡£

´Ø¿ô¤ò»ØÌ¾¤¹¤ë¥·¥ó¥Ü¥ë¤Ç´Ø¿ô¤ò¤·¤Ð¤·¤Ð¼±Ê̤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¤·¤Ð¤·¤Ð¡Ø´Ø¿ôcar¡Ù¤È¤¤¤Ã¤Æ¡¢ ¥·¥ó¥Ü¥ëcar¤È´Ø¿ôÄêµÁ¤Ç¤¢¤ë´ðËÜ´Ø¿ô¤Îsubr¥ª¥Ö¥¸¥§¥¯¥È¤È¤ò¶èÊ̤·¤Þ¤»¤ó¡£ ¤Û¤È¤ó¤É¤ÎÌÜŪ¤Ë¤Ï¡¢¶èÊ̤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£

¤¿¤È¤¨¤½¤¦¤Ç¤¢¤Ã¤Æ¤â¡¢´Ø¿ô¤Ë°ì°Õ¤Ê̾Á°¤ÏɬÍפʤ¤¤³¤È¤ò ¿´¤Ëα¤á¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È¤ÏÉáÄÌ1¤Ä¤Î¥·¥ó¥Ü¥ë¤Î´Ø¿ô¥»¥ë¤À¤±¤Ë¸½¤ì¤Þ¤¹¤¬¡¢ ¤³¤ì¤Ïñ¤Ê¤ëÊØË¡¤Ç¤¹¡£ fset¤ò»È¤Ã¤Æ¡¢Ê£¿ô¤Î¥·¥ó¥Ü¥ë¤Ë³ÊǼ¤¹¤ë¤Î¤Ï´Êñ¤Ç¤¹¡£ ¤½¤¦¤¹¤ë¤È¡¢³Æ¥·¥ó¥Ü¥ë¤ÏƱ¤¸´Ø¿ô¤òƱÅù¤Ë»ØÌ¾¤·¤Þ¤¹¡£

´Ø¿ô̾¤È¤·¤Æ»È¤¦¥·¥ó¥Ü¥ë¤Ï¡¢ÊÑ¿ô¤È¤·¤Æ¤â»È¤¨¤Þ¤¹¡£ ¥·¥ó¥Ü¥ë¤Î¤³¤ì¤é2¤Ä¤Î»È¤¤Êý¤ÏÆÈΩ¤·¤Æ¤¤¤Æ¾×ÆÍ¤·¤Þ¤»¤ó¡£ ¡ÊScheme¤Ê¤É¤ÎLisp¤ÎÊý¸À¤Î¤Ê¤«¤Ë¤Ï¡¢ ¥·¥ó¥Ü¥ë¤ÎÃͤȤ½¤Î´Ø¿ôÄêµÁ¤ò¶èÊ̤·¤Ê¤¤¤â¤Î¤â¤¢¤ë¡£ ÊÑ¿ô¤È¤·¤Æ¤Î¥·¥ó¥Ü¥ë¤ÎÃͤϡ¢¤½¤Î´Ø¿ôÄêµÁ¤Ç¤â¤¢¤ë¡£¡Ë ¥·¥ó¥Ü¥ë¤Ë´Ø¿ôÄêµÁ¤òÍ¿¤¨¤Æ¤¤¤Ê¤¤¤È¡¢¤½¤Î¥·¥ó¥Ü¥ë¤ò´Ø¿ô¤È¤·¤Æ¤Ï»È¤¨¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¡¢¥·¥ó¥Ü¥ë¤ËÊÑ¿ô¤È¤·¤Æ¤ÎÃͤ¬¤¢¤ë¤«¤É¤¦¤«¤Ë¤Ï´Ø·¸¤·¤Þ¤»¤ó¡£