Next: , Previous: Active Characters, Up: M4 Quotation   [Contents][Index]


8.1.2 °ì¤Ä¤Î¥Þ¥¯¥í¤Î¸Æ¤Ó½Ð¤·

¤µ¤Æ¡¤¥¢¥¯¥Æ¥£¥Ö¤Êʸ»ú¤È°Ê²¼¤Îñ¤ËºÇ½é¤Î°ú¿ô¤òÊÖ¤¹¾®¤µ¤Ê¥Þ¥¯¥í¤òÍѤ¤¤¿¥Þ ¥¯¥í¤Ç¡¤ÂÐÏÃŪ¤Ë¿Ê¤á¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡¥

define([car], [$1])

¾åµ­¤ÎÆóÁȤΰúÍÑÉä¤Ïdefine¤Î°ú¿ô¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¤½¤¦¤Ç¤Ï¤Ê ¤¯¡¤define¤Î°ú¿ô¤Î¸¡º÷¤¬»î¤ß¤é¤ì¤ë¤È¤­¤Ë¡¤¤½¤ì¤é¤Ï¥È¥Ã¥×¥ì¥Ù¥ë¤Ç Íý²ò¤µ¤ì¤Þ¤¹¡¥¤½¤Î¤¿¤á¡¤¤½¤ì¤Ï°Ê²¼¤Î¤è¤¦¤Ë½ñ¤¯¤³¤È¤ÈÅù²Á¤Ç¤¹¡¥

define(car, $1)

¤·¤«¤·¡¤configure.ac¤¬ÉÔɬÍפʰúÍÑÉä¤òÈò¤±¤ë¤³¤È¤Ï¼õ¤±Æþ¤ì¤Æ¤â¤« ¤Þ¤¤¤Þ¤»¤ó¤¬¡¤¤è¤ê¶¯¸Ç¤Ç¡¤´°Á´¤Ê·Á¼°¤òÄ󰯤¹¤ëɬÍפ⤢¤ëAutoconf¥Þ¥¯¥í¤Ë ¤È¤Ã¤Æ¤Ï°­¤¤´·½¬¤Ç¤¹¡¥

¥È¥Ã¥×¥ì¥Ù¥ë¤Ç¤Ï¡¤Æó¤Ä¤Î²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡¥°úÍÑÉä¤Ç°Ï¤à¡¤¤Þ¤¿¤Ï°Ï¤Þ¤Ê¤¤¤Ç ¤ÎÆó¤Ä¤Ç¤¹¡¥

car(foo, bar, baz)
⇒foo
[car(foo, bar, baz)]
⇒car(foo, bar, baz)

ÆÃ¼ìʸ»ú¤ËÃíÌܤ·¤Æ¤ß¤Þ¤·¤ç¤¦¡¥

car(#)
error→EOF in argument list

ÊĤ¸¥«¥Ã¥³¤Ï¥³¥á¥ó¥ÈÆâ¤Ë±£¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡¥°úÍÑÉä¤ò¿ä¬¤¹¤ë¤³¤È¤Ç¡¤¥È¥Ã¥× ¥ì¥Ù¥ë¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤ËÍý²ò¤·¤Þ¤¹¡¥

car([#)]

ŬÀڤʰúÍÑÉä¤Ï¡¤¤â¤Á¤í¤ó¤³¤ÎÌäÂê¤ò½¤Àµ¤·¤Þ¤¹¡¥

car([#])
⇒#

ÆÉ¼Ô¤Ï¡¤°Ê²¼¤ÎÎã¤ÎÊý¤¬Íý²ò¤·¤ä¤¹¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡¥

car(foo, bar)
⇒foo
car([foo, bar])
⇒foo, bar
car((foo, bar))
⇒(foo, bar)
car([(foo], [bar)])
⇒(foo
car([], [])
⇒
car([[]], [[]])
⇒[]

¤³¤ì¤ò³Ð¤¨¤Æ¤¤¤ë¤È¡¤¥Þ¥¯¥í¤¬¥Þ¥¯¥í¤ò¸Æ¤Ó½Ð¤·¡¤¥Þ¥¯¥í¤¬¥Þ¥¯¥í¤ò¸Æ¤Ó½Ð¤· …¤È¤Ê¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê¾õ¶·¤âÄ´ºº¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥