Next: , Previous: Composite Types, Up: Customization Types   [Contents][Index]


13.4.3 ¥ê¥¹¥È¤Ë·Ò¤®¹ç¤ï¤»¤ë

:inlineµ¡Ç½¤Ë¤è¤ê¡¢²ÄÊѸĿô¤ÎÍ×ÁǤò¥ê¥¹¥È¤ä¥Ù¥¯¥È¥ë¤Î ÅÓÃæ¤Ë·Ò¤®¹ç¤ï¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ list¤ävector¤ÎÍ×ÁÇ·¿¤Ë¸½¤ì¤ë set·¿¡¢choice·¿¡¢repeat·¿¤ÎÃæ¤Ë»È¤¤¤Þ¤¹¡£

Ä̾list¤ävector¤Î¤ª¤Î¤ª¤Î¤ÎÍ×ÁÇ·¿¤Ï¡¢ ¥ê¥¹¥È¤ä¥Ù¥¯¥È¥ë¤Î¤¿¤Ã¤¿1¤Ä¤ÎÍ×ÁǤòµ­½Ò¤·¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Í×ÁÇ·¿¤¬repeat¤Ç¤¢¤ë¤È¡¢ 1Í×ÁǤȤ·¤ÆÉ½¼¨¤µ¤ì¤ëŤµ¤ò»ØÄꤷ¤Ê¤¤¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£

¤·¤«¤·¡¢Í×ÁÇ·¿¤Ë:inline¤ò»È¤¦¤È¡¢ ¤³¤ì¤Ë°ìÃפ¹¤ëÃͤϡ¢:inline¤ò´Þ¤à¥·¡¼¥±¥ó¥¹¤ËľÀܤËÊ»¹ç¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢3Í×ÁǤΥꥹ¥È¤Ë°ìÃפ¹¤ë¤È¡¢ ¤½¤ì¤¬¥·¡¼¥±¥ó¥¹Á´ÂΤÎ3¤Ä¤ÎÍ×ÁǤˤʤê¤Þ¤¹¡£ ¤³¤ì¤Ï¥Ð¥Ã¥¯¥¯¥©¡¼¥È¹½Ê¸¤Î‘,@’¤Î»È¤¤Êý¤Ë»÷¤Æ¤¤¤Þ¤¹¡£

¤¿¤È¤¨¤Ð¡¢ÀèÆ¬Í×ÁǤ¬t¤Ç¤¢¤ê¡¢ »Ä¤ê¤¬foo¤«bar¤Î0¸Ä°Ê¾å¤Î·«¤êÊÖ¤·¤Ç¤¢¤ë¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢ ¤Ä¤®¤Î¥«¥¹¥¿¥Þ¥¤¥º·¿¤ò»È¤¤¤Þ¤¹¡£

(list (const t) (set :inline t foo bar))

¤³¤ì¤Ï¡¢(t)¡¢(t foo)¡¢(t bar)¡¢(t foo bar)¤Ê¤É¤Î Ãͤ˰ìÃפ·¤Þ¤¹¡£

Í×ÁÇ·¿¤¬choice¤Ç¤¢¤ë¤È¤­¤Ë¤Ï¡¢ choice¤½¤Î¤â¤Î¤Ë¤Ï:inline¤ò»È¤¤¤Þ¤»¤ó¤¬¡¢ choice¤ÎÁªÂò»è¡Ê¤Î¤É¤ì¤«¡Ë¤Ë:inline¤ò»È¤¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥Õ¥¡¥¤¥ë̾¤Ç»Ï¤Þ¤ê¥·¥ó¥Ü¥ët¤«2¤Ä¤Îʸ»úÎó¤¬Â³¤¯¤è¤¦¤Ê ¥ê¥¹¥È¤Ë°ìÃפ¹¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢ ¤Ä¤®¤Î¥«¥¹¥¿¥Þ¥¤¥º·¿¤ò»È¤¤¤Þ¤¹¡£

(list file
      (choice (const t)
              (list :inline t string string)))

¥æ¡¼¥¶¡¼¤¬ºÇ½é¤ÎÁªÂò»è¤òÁª¤Ö¤È¡¢Á´ÂΤȤ·¤Æ¤Î¥ê¥¹¥È¤Ï2Í×ÁǤˤʤꡢ Âè2Í×ÁǤÏt¤Ç¤¹¡£ ¥æ¡¼¥¶¡¼¤¬2ÈÖÌܤÎÁªÂò»è¤òÁª¤Ö¤È¡¢ Á´ÂΤȤ·¤Æ¤Î¥ê¥¹¥È¤Ï3Í×ÁǤˤʤꡢ Âè2Í×ÁǤÈÂè3Í×ÁǤÏʸ»úÎó¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£