Next: Undefine, Previous: Arguments, Up: Definitions [Contents][Index]
Í¿¤¨¤é¤ì¤¿¼Â°ú¿ô¡Êactual arguments¡Ë¤Î¸Ä¿ô¤äÁ´¤Æ¤Î¼Â°ú¿ô¤ò¤Þ¤È¤á¤ÆÉ½¤¹¤¿¤á¤Î ÆÃÊ̤ÊɽµÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¥Þ¥¯¥í¤ò¸Æ¤Ó½Ð¤¹¤È¤¤ËÍ¿¤¨¤é¤ì¤¿¼Â°ú¿ô¤Î¸Ä¿ô¤Ï¡¢
Ÿ³«Íѥƥ¥¹¥È¤ÎÃæ¤Ç$#
¤È¤·¤ÆÉ½¤·¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤ÆÍ¿¤¨¤é¤ì¤¿¼Â°ú¿ô¤Î¸Ä¿ô¤òɽ¼¨¤¹¤ë¥Þ¥¯¥í¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
define(`nargs', `$#') ⇒ nargs ⇒0 nargs() ⇒1 nargs(arg1, arg2, arg3) ⇒3
Ÿ³«Íѥƥ¥¹¥È¤ÎÃæ¤Ç$*
¤È¤¤¤¦É½µ¤ò¤¹¤ë¤³¤È¤Ç¡¢
Á´¤Æ¤Î¼Â°ú¿ô¤ò(¥¯¥©¡¼¥È¤Ï¤»¤º¤Ë)¥³¥ó¥Þ¤Ç¶èÀڤ俤â¤Î¤òɽ¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
define(`echo', `$*') ⇒ echo(arg1, arg2, arg3 , arg4) ⇒arg1,arg2,arg3 ,arg4
°ú¿ô¤ò¤½¤ì¤¾¤ì¥¯¥©¡¼¥È¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤¬¤è¤¯¤¢¤ê¤Þ¤¹¤¬¡¢
¤½¤ó¤Ê¤È¤¤Ï$@
¤È¤¤¤¦É½µ¤ò»È¤¤¤Þ¤¹¡£
¤³¤ì¤Ï³Æ°ú¿ô¤¬¥¯¥©¡¼¥È¤µ¤ì¤ë¤³¤È¤ò½ü¤±¤Ð$*
¤ÈƱ¤¸¤Ç¤¹¡£
define(`echo', `$@') ⇒ echo(arg1, arg2, arg3 , arg4) ⇒arg1,arg2,arg3 ,arg4
°úÍÑÉä¤Ï¤É¤³¤Ë¹Ô¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«? ¤â¤Á¤í¤óŸ³«¸å¤Î¥Æ¥¥¹¥È¤ò
ºÆÁöºº¤·¤¿¤È¤¤Ëm4
¤¬¿©¤Ù¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤¹¡£
°ã¤¤¤ò¸«¤ë¤¿¤á¤Ë¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
define(`echo1', `$*') ⇒ define(`echo2', `$@') ⇒ define(`foo', `This is macro `foo'.') ⇒ echo1(foo) ⇒This is macro This is macro foo.. echo2(foo) ⇒This is macro foo.
¤³¤ì¤¬Íý²ò¤Ç¤¤Ê¤¤¤È¤¤ÏSee Trace¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
Ÿ³«Íѥƥ¥¹¥È¤Ëµ¹æ‘$’¤¬Â¸ºß¤·¡¢¤½¤ì¤Ë³¤¯Éôʬ¤¬m4
¤ËÍý²ò¤Ç¤¤ë
¤â¤Î¤Ç¤Ê¤¤¤È¤¤Ï¡¢‘$’¤Ï¾¤Î¥Æ¥¥¹¥È¤ÈƱ¤¸¤è¤¦¤Ë
¥Þ¥¯¥íŸ³«¸å¤Î¥Æ¥¥¹¥È¤ØÃ±¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
define(`foo', `$$$ hello $$$') ⇒ foo ⇒$$$ hello $$$
¥Þ¥¯¥í¤ò‘$12’¤Ê¤É¤ËŸ³«¤µ¤»¤¿¤¤¤È¤¤Ï¡¢
$
¤Î¸å¤Ë°ìÁȤΰúÍÑÉä¤òÃÖ¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤Ã¤Æ¡¢m4
¤¬¤½¤Î$
µ¹æ¤ò°ú¿ô¤Ø¤Î»²¾È¤À¤È²ò¼á¤·¤Æ¤Þ¤¦¤Î¤ò
Ëɤ°¤³¤È¤¬¤Ç¤¤Þ¤¹¡£