Next: Calling Functions, Previous: Function Names, Up: Functions [Contents][Index]
´Ø¿ô¤òºîÀ®¤¹¤ë¤È¤¤Ë¤Ï¡¢ÉáÄÌ¡¢´Ø¿ô¤Ë̾Á°¤òÍ¿¤¨¤Þ¤¹¡£
¤³¤ì¤ò´Ø¿ô¤òÄêµÁ¤¹¤ë¤È¸Æ¤Ó¡¢
¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àdefun¤Ç¹Ô¤¤¤Þ¤¹¡£
defun¤Ï¡¢¿·¤¿¤ËLisp´Ø¿ô¤òÄêµÁ¤¹¤ëÉáÄ̤ÎÊýË¡¤Ç¤¢¤ë¡£
¤³¤ì¤Ï¡¢¥·¥ó¥Ü¥ëname¤ò¤Ä¤®¤Î¤è¤¦¤Ê´Ø¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡£
(lambda argument-list . body-forms)
defun¤Ï¡¢¤³¤Î¥é¥à¥À¼°¤òname¤Î´Ø¿ô¥»¥ë¤Ë³ÊǼ¤¹¤ë¡£
ÃÍname¤òÊÖ¤¹¤¬¡¢ÉáÄÌ¡¢¤³¤ì¤Ï̵»ë¤¹¤ë¡£
Á°½Ò¡Êsee Lambda Expressions¡Ë¤Î¤è¤¦¤Ë¡¢
argument-list¤Ï°ú¿ô̾¤Î¥ê¥¹¥È¤Ç¤¢¤ê¡¢
¥¡¼¥ï¡¼¥É&optional¤ä&rest¤¬Æþ¤Ã¤Æ¤¤¤Æ¤â¤è¤¤¡£
¤Þ¤¿¡¢body-forms¤ÎºÇ½é¤Î2¤Ä¤Ï¡¢ÀâÌÀʸ»úÎó¤ÈÂÐÏÃÀë¸À¤Ç¤â¤è¤¤¡£
Ʊ°ì¤Î¥·¥ó¥Ü¥ëname¤òÊÑ¿ô¤È¤·¤Æ»È¤Ã¤Æ¤¤¤Æ¤â¾×ÆÍ¤Ï¤Ê¤¤¡£ ¤È¤¤¤¦¤Î¤Ï¡¢¥·¥ó¥Ü¥ë¤ÎÃÍ¥»¥ë¤Ï´Ø¿ô¥»¥ë¤È¤ÏÆÈΩ¤À¤«¤é¤Ç¤¢¤ë¡£ see Symbol Components¡£
Îã¤ò¼¨¤½¤¦¡£
(defun foo () 5)
⇒ foo
(foo)
⇒ 5
(defun bar (a &optional b &rest c)
(list a b c))
⇒ bar
(bar 1 2 3 4 5)
⇒ (1 2 (3 4 5))
(bar 1)
⇒ (1 nil nil)
(bar) error→ Wrong number of arguments.
(defun capitalize-backwards ()
"Upcase the last letter of a word."
(interactive)
(backward-word 1)
(forward-word 1)
(backward-char 1)
(capitalize-word 1))
⇒ capitalize-backwards
´û¸¤Î´Ø¿ô¤ò°Õ¿Þ¤»¤º¤ËºÆÄêµÁ¤·¤Ê¤¤¤è¤¦¤ËÃí°Õ¤¹¤ë¤³¤È¡£
defun¤Ï¡¢¤¿¤È¤¨car¤Ê¤É¤Î´ðËÜ´Ø¿ô¤Ç¤¢¤Ã¤Æ¤â¡¢
¤Ê¤ó¤Îí´í°¤âÃí°Õ¤â¤»¤º¤ËºÆÄêµÁ¤·¤Æ¤·¤Þ¤¦¡£
´û¸´Ø¿ô¤ÎºÆÄêµÁ¤ÏÃí°Õ¿¼¤¯¹Ô¤¦¤¬¡¢
ÉÔËܰդʺÆÄêµÁ¤È½Ï¹Í¤·¤¿ºÆÄêµÁ¤ò¶èÊ̤¹¤ëÊýË¡¤Ï¤Ê¤¤¡£
¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¡¢ ¥·¥ó¥Ü¥ëname¤òÄêµÁdefinition¡ÊǤ°Õ¤ÎÀµ¤·¤¤Lisp´Ø¿ô¡Ë¤È¤¹¤ë ´Ø¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡£
defalias¤ò»È¤¦Àµ¤·¤¤¾ì½ê¤Ï¡¢
ÆÃÄê¤Î´Ø¿ô̾¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤Ç¤¢¤ë¡£
ÆÃ¤Ë¡¢¥í¡¼¥ÉÃæ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ë̾Á°¤¬¸½¤ì¤Æ¤¤¤ë¾ì½ê¤Ç¤¢¤ë¡£
¤È¤¤¤¦¤Î¤Ï¡¢defalias¤Ï¡¢defun¤ÈƱÍͤˡ¢
´Ø¿ô¤¬ÄêµÁ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òµÏ¿¤¹¤ë¤«¤é¤Ç¤¢¤ë¡Êsee Unloading¡Ë¡£
°ìÊý¡¢Â¾¤ÎÌÜŪ¤Ç´Ø¿ôÄêµÁ¤òÁàºî¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
¤½¤Î¤è¤¦¤ÊµÏ¿¤òÊÝ»ý¤·¤Ê¤¤fset¤ò»È¤¦¤Î¤¬¤è¤¤¡£
defun¤Î¤è¤¦¤Ë´Ø¿ô¤òÄêµÁ¤·¡¢¤«¤Ä¡¢
Lisp¥³¥ó¥Ñ¥¤¥é¤Ë´Ø¿ôÄêµÁ¤òŸ³«¤¹¤ë¤è¤¦¤Ë»Ø¼¨¤¹¤ë
defsubst¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
See Inline Functions¡£