Next: Conditionals, Previous: Control Structures, Up: Control Structures [Contents][Index]
¸½¤ì¤ë½çÈ֤˥ե©¡¼¥à¤òɾ²Á¤¹¤ë¤³¤È¤Ï¡¢
1¤Ä¤Î¥Õ¥©¡¼¥à¤«¤éÊ̤Υե©¡¼¥à¤ØÀ©¸æ¤ò°Ü¤¹¤â¤Ã¤È¤â°ìÈÌŪ¤ÊÊýË¡¤Ç¤¹¡£
´Ø¿ôËÜÂΤʤɤΤ¢¤ë¼ï¤Îʸ̮¤Ç¤Ï¡¢¼«Æ°Åª¤Ë¤³¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤ì°Ê³°¤Ç¤Ï¡¢¤³¤ì¤ò¹Ô¤¦À©¸æ¹½Â¤¤Î¹½Ê¸¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
progn
¤¬¤½¤ÎÀ©¸æ¹½Â¤¤Ç¡¢Lisp¤Î¤â¤Ã¤È¤âñ½ã¤ÊÀ©¸æ¹½Â¤¤Ç¤¹¡£
¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àprogn
¤Ï¤Ä¤®¤Î¤è¤¦¤Ê·Á¤Ç¤¹¡£
(progn a b c …)
¤³¤ì¤Ï¡¢¥Õ¥©¡¼¥à¡¢a¡¢b¡¢c¡¢¡Ä¤ò¤³¤Î½ç¤Ëɾ²Á¤·¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Õ¥©¡¼¥à¤òprogn
¥Õ¥©¡¼¥à¤ÎËÜÂΤȸƤӤޤ¹¡£
ËÜÂΤκǸå¤Î¥Õ¥©¡¼¥à¤ÎÃͤ¬¡¢progn
Á´ÂΤÎÃͤˤʤê¤Þ¤¹¡£
½é´ü¤Î¤³¤í¤ÎLisp¤Ç¤Ï¡¢progn
¤Ï¡¢
2¤Ä°Ê¾å¤Î¥Õ¥©¡¼¥à¤òÃ༡¼Â¹Ô¤·¤½¤ì¤é¤ÎºÇ¸å¤ÎÃͤò»È¤¦Í£°ì¤ÎÊýË¡¤Ç¤·¤¿¡£
¤·¤«¤·¡¢¥×¥í¥°¥é¥Þ¤Ï¡¢¡ÊÅö»þ¤Ï¡Ë1¤Ä¤Î¥Õ¥©¡¼¥à¤·¤«µö¤µ¤ì¤Æ¤¤¤Ê¤¤
´Ø¿ô¤ÎËÜÂΤǤϡ¢
progn
¤ò»È¤¦É¬Íפ¬¤·¤Ð¤·¤Ð¤¢¤ë¤³¤È¤Ëµ¤¤Å¤¤Þ¤·¤¿¡£
¤½¤Î¤¿¤á¡¢´Ø¿ôËÜÂΤò¡Ø°ÅÌÛ¤Îprogn
¡Ù¤Ë¤·¤¿¤Î¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢¼ÂºÝ¤Îprogn
¤ÎËÜÂΤΤ褦¤Ë¡¢
Ê£¿ô¤Î¥Õ¥©¡¼¥à¤òµö¤¹¤è¤¦¤Ë¤·¤¿¤Î¤Ç¤¹¡£
¿¤¯¤Î¾¤ÎÀ©¸æ¹½Â¤¤â¡¢Æ±Íͤˡ¢°ÅÌÛ¤Îprogn
¤Ç¤¹¡£
¤½¤Î·ë²Ì¡¢progn
¤Ï¡¢¤«¤Ä¤Æ¤Û¤É¤Ï¿ÍѤµ¤ì¤Þ¤»¤ó¡£
¸½ºß¤Ç¤Ï¡¢unwind-protect
¡¢and
¡¢or
¤ÎÆâ¦¤ä¡¢
if
¤ÎthenÉôʬ¤ÇɬÍפȤµ¤ì¤ë¤Î¤¬¤Û¤È¤ó¤É¤Ç¤¹¡£
¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¡¢forms¤Î¥Õ¥©¡¼¥à¤¹¤Ù¤Æ¤ò ¥Æ¥¥¹¥È¾å¤Î½ç¤Ëɾ²Á¤·¡¢ºÇ¸å¤Î¥Õ¥©¡¼¥à¤Î·ë²Ì¤òÊÖ¤¹¡£
(progn (print "The first form") (print "The second form") (print "The third form")) -| "The first form" -| "The second form" -| "The third form" ⇒ "The third form"
¾¤Î2¤Ä¤ÎÀ©¸æ¹½Â¤¤âƱÍͤ˥ե©¡¼¥à¤òÃ༡ɾ²Á¤·¤Þ¤¹¤¬¡¢ ÊÖ¤¹Ãͤ¬°Û¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¡¢form1¡¢forms¤Î¥Õ¥©¡¼¥à¤¹¤Ù¤Æ¤ò ¥Æ¥¥¹¥È¾å¤Î½ç¤Ëɾ²Á¤·¡¢form1¤Î·ë²Ì¤òÊÖ¤¹¡£
(prog1 (print "The first form") (print "The second form") (print "The third form")) -| "The first form" -| "The second form" -| "The third form" ⇒ "The first form"
ÊÑ¿ô¤Î¥ê¥¹¥È¤«¤éÀèÆ¬Í×ÁǤò¼è¤ê½ü¤¡¢¼è¤ê½ü¤¤¤¿Í×ÁǤòÊÖ¤¹¤Ë¤Ï¤Ä¤®¤Î¤è¤¦¤Ë½ñ¤¯¡£
(prog1 (car x) (setq x (cdr x)))
¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ï¡¢form1¡¢form2¡¢forms¤Î ¥Õ¥©¡¼¥à¤¹¤Ù¤Æ¤ò¥Æ¥¥¹¥È¾å¤Î½ç¤Ëɾ²Á¤·¡¢form2¤Î·ë²Ì¤òÊÖ¤¹¡£
(prog2 (print "The first form") (print "The second form") (print "The third form")) -| "The first form" -| "The second form" -| "The third form" ⇒ "The second form"