Next: Function Forms, Previous: Classifying Lists, Up: Forms [Contents][Index]
¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤ¬¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤È¡¢ ɾ²Á½èÍý¤Ç¤Ï¥·¥ó¥Ü¥ë¤Î´Ø¿ô¥»¥ë¤òÄ´¤Ù¡¢ ¤â¤È¤Î¥·¥ó¥Ü¥ë¤Î¤«¤ï¤ê¤Ë¤½¤ÎÆâÍÆ¤ò»È¤¤¤Þ¤¹¡£ ¤½¤ÎÆâÍÆ¤¬Ê̤Υ·¥ó¥Ü¥ë¤Ç¤¢¤ë¤È¡¢ ¥·¥ó¥Ü¥ë¤Î´Ø¿ô´ÖÀÜ¡Êsymbol function indirection¡Ë¤È¸Æ¤Ð¤ì¤ë ¤³¤Î½èÍý¤ò¥·¥ó¥Ü¥ë¤Ç¤Ê¤¤¤â¤Î¤òÆÀ¤ë¤Þ¤Ç·«¤êÊÖ¤·¤Þ¤¹¡£ ¥·¥ó¥Ü¥ë¤Î´Ø¿ô¥»¥ë¤Ë³ÊǼ¤µ¤ì¤¿´Ø¿ô̾¤È¤·¤Æ¤Î¥·¥ó¥Ü¥ë¤Î»È¤¤Êý¤Ë¤Ä¤¤¤Æ ¾Ü¤·¤¯¤Ï¡¢See Function Names¡£
¤³¤Î½èÍý¤Î·ë²Ì¡¢Ìµ¸Â¥ë¡¼¥×¤Ë¤Ê¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥·¥ó¥Ü¥ë¤Î´Ø¿ô¥»¥ë¤¬Æ±¤¸¥·¥ó¥Ü¥ë¤ò»Ø¤·¤Æ¤¤¤ë¾ì¹ç¤Ç¤¹¡£
¤¢¤ë¤¤¤Ï¡¢¥·¥ó¥Ü¥ë¤Î´Ø¿ô¥»¥ë¤¬¶õ¤Î¾ì¹ç¤â¤¢¤ê¤¨¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢¥µ¥Ö¥ë¡¼¥Æ¥£¥ósymbol-function
¤Ï¡¢
¥¨¥é¡¼void-function
¤òÄÌÃΤ·¤Þ¤¹¡£
¤¤¤º¤ì¤Î¾ì¹ç¤Ç¤â¤Ê¤±¤ì¤Ð¡¢ºÇ½ªÅª¤Ë¤Ï¥·¥ó¥Ü¥ë¤Ç¤Ê¤¤¤â¤Î¤ò¼èÆÀ¤·¡¢
¤½¤ì¤Ï´Ø¿ô¤Ê¤É¤ÎŬÀڤʥª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¤Ï¤º¤Ç¤¹¡£
¤è¤êÀµ³Î¤Ë¤¤¤¨¤Ð¡¢Lisp´Ø¿ô¡Ê¥é¥à¥À¼°¡Ë¡¢¥Ð¥¤¥È¥³¡¼¥É´Ø¿ô¡¢
´ðËÜ´Ø¿ô¡¢Lisp¥Þ¥¯¥í¡¢¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¡¢¼«Æ°¥í¡¼¥É¥ª¥Ö¥¸¥§¥¯¥È¤Î
¤¤¤º¤ì¤«¤ò¼èÆÀ¤·¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
¤³¤ì¤é¤Î³Æ¼ïÎऴ¤È¤Ë¡¢°Ê²¼¤Î1¤Ä1¤Ä¤ÎÀá¤ÇÀâÌÀ¤·¤Þ¤¹¡£
¥ª¥Ö¥¸¥§¥¯¥È¤¬¤³¤ì¤é¤Î¤¤¤º¤ì¤Î·¿¤Ç¤â¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
¥¨¥é¡¼invalid-function
¤òÄÌÃΤ·¤Þ¤¹¡£
¤Ä¤®¤ÎÎã¤Ï¡¢¥·¥ó¥Ü¥ë¤Î´Ø¿ô´ÖÀܤνèÍý¤ò¿Þ¼¨¤·¤¿¤â¤Î¤Ç¤¹¡£
fset
¤ò»È¤Ã¤Æ¥·¥ó¥Ü¥ë¤Î´Ø¿ô¥»¥ë¤ËÀßÄꤷ¡¢
symbol-function
¤ò»È¤Ã¤Æ´Ø¿ô¥»¥ë¤ÎÆâÍÆ¤ò¼è¤ê½Ð¤·¤Þ¤¹
¡Êsee Function Cells¡Ë¡£
¶ñÂÎŪ¤Ë¤Ï¡¢¥·¥ó¥Ü¥ëcar
¤òfirst
¤Î´Ø¿ô¥»¥ë¤Ë³ÊǼ¤·¡¢
¥·¥ó¥Ü¥ëfirst
¤òerste
¤Î´Ø¿ô¥»¥ë¤Ë³ÊǼ¤·¤Þ¤¹¡£
;; ¤³¤Î¤è¤¦¤Ê´Ø¿ô¥»¥ë¤Î¥ê¥ó¥¯¤òºî¤ë
;; ------------- ----- ------- -------
;; | #<subr car> | <-- | car | <-- | first | <-- | erste |
;; ------------- ----- ------- -------
(symbol-function 'car) ⇒ #<subr car>
(fset 'first 'car) ⇒ car
(fset 'erste 'first) ⇒ first
(erste '(1 2 3)) ; erste
¤¬»Ø¤¹´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹
⇒ 1
°ìÊý¡¢¤Ä¤®¤ÎÎã¤Ç¤Ï¡¢¥·¥ó¥Ü¥ë¤Î´Ø¿ô´ÖÀܤò»È¤ï¤º¤Ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ ¤È¤¤¤¦¤Î¤Ï¡¢ÀèÆ¬°ú¿ô¤ÏLisp¤Î̵̾´Ø¿ô¤Ç¤¢¤Ã¤Æ¡¢ ¥·¥ó¥Ü¥ë¤Ç¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£
((lambda (arg) (erste arg)) '(1 2 3)) ⇒ 1
´Ø¿ô¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ï¡¢¤½¤ÎËÜÂΤòɾ²Á¤¹¤ë¤³¤È¤Ç¤¹¡£
¤³¤Î²áÄø¤Ç¤Ï¡¢erste
¤ò¸Æ¤Ó½Ð¤¹¤È¤¤Ë¥·¥ó¥Ü¥ë¤Î´Ø¿ô´ÖÀܤ¬´Ø¤ï¤ê¤Þ¤¹¡£
ÁȤ߹þ¤ß´Ø¿ôindirect-function
¤Ï¡¢
ÌÀ¼¨Åª¤Ë¥·¥ó¥Ü¥ë¤Î´Ø¿ô´ÖÀܤò¹Ô¤¦´Êñ¤ÊÊýË¡¤Ç¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢´Ø¿ô¤È¤·¤Æ¤Îfunction¤Î°ÕÌ£¤òÊÖ¤¹¡£ function¤¬¥·¥ó¥Ü¥ë¤Ç¤¢¤ì¤Ðfunction¤Î´Ø¿ôÄêµÁ¤òõ¤·¡¢ ¤½¤ÎÃͤ«¤éºÆÅÙ·«¤êÊÖ¤¹¡£ function¤¬¥·¥ó¥Ü¥ë¤Ç¤Ê¤±¤ì¤Ðfunction¤½¤Î¤â¤Î¤òÊÖ¤¹¡£
Lisp¤Çindirect-function
¤òÄêµÁ¤¹¤ë¤È¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¡£
(defun indirect-function (function) (if (symbolp function) (indirect-function (symbol-function function)) function))