Next: Iteration, Previous: Conditionals, Up: Control Structures [Contents][Index]
ËÜÀá¤Ç¤Ï¡¢if
¤äcond
¤È¤È¤â¤ËÍѤ¤¤ÆÊ£»¨¤Ê¾ò·ï¤òɽ¸½¤¹¤ë¤¿¤á¤Ë
¤·¤Ð¤·¤Ð»È¤ï¤ì¤ë3¤Ä¤Î¹½Â¤¤òÀâÌÀ¤·¤Þ¤¹¡£
and
¤äor
¤Î¹½Â¤¤Ï¡¢
Ê£¿ô¤Î¾ò·ïÉÕ¤¹½Â¤¤Î°ì¼ï¤È¤·¤ÆÃ±ÆÈ¤Ç»È¤¦¤³¤È¤â¤Ç¤¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢condition¤¬µ¶¤Ç¤¢¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë¡£
condition¤¬nil
¤Ç¤¢¤ì¤Ðt
¤òÊÖ¤·¡¢
¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
´Ø¿ônot
¤Ïnull
¤ÈƱ°ì¤Ç¤¢¤ë¤¬¡¢
¶õ¥ê¥¹¥È¤«¤É¤¦¤«Ä´¤Ù¤ë¾ì¹ç¤Ë¤Ï¡¢null
¤ò»È¤¦¤³¤È¤ò´«¤á¤ë¡£
¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àand
¤Ï¡¢
¤¹¤Ù¤Æ¤Îconditions¤¬¿¿¤Ç¤¢¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë¡£
conditions¤ò1¤Ä1¤Ä½ñ¤«¤ì¤¿½ç¤Ëɾ²Á¤·¤ÆÄ´¤Ù¤ë¡£
conditions¤Î¤É¤ì¤«¤¬nil
¤Ëɾ²Á¤µ¤ì¤ë¤È¡¢
and
¤Î·ë²Ì¤Ï¡¢»Ä¤ê¤Îconditions¤Ë´Ø·¸¤Ê¤¯¡¢nil
¤Ë¤Ê¤ë¡£
¤Ä¤Þ¤ê¡¢and
¤Ï¤¿¤À¤Á¤Ë´°Î»¤·¡¢
conditions¤Î»Ä¤ê¤ò̵»ë¤¹¤ë¡£
conditions¤¹¤Ù¤Æ¤¬nil
°Ê³°¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ë¤È¡¢
¤½¤ì¤é¤ÎºÇ¸å¤ÎÃͤ¬¥Õ¥©¡¼¥àand
¤ÎÃͤȤʤ롣
Îã¤ò¼¨¤½¤¦¡£
ºÇ½é¤Î¾ò·ï¤ÏÀ°¿ô1¤òÊÖ¤·¡¢¤³¤ì¤Ïnil
¤Ç¤Ï¤Ê¤¤¡£
ƱÍͤˡ¢2ÈÖÌܤξò·ï¤ÏÀ°¿ô2¤òÊÖ¤·¡¢nil
¤Ç¤Ï¤Ê¤¤¡£
3ÈÖÌܤξò·ï¤Ïnil
¤Ê¤Î¤Ç¡¢»Ä¤ê¤Î¾ò·ï¤òɾ²Á¤·¤Ê¤¤¡£
(and (print 1) (print 2) nil (print 3)) -| 1 -| 2 ⇒ nil
and
¤ò»È¤Ã¤¿¤è¤ê¸½¼ÂŪ¤ÊÎã¤Ï¤Ä¤®¤Î¤È¤ª¤ê¡£
(if (and (consp foo) (eq (car foo) 'x)) (message "foo is a list starting with x"))
(consp foo)
¤¬nil
¤òÊÖ¤¹¤È(car foo)
¤Ï¼Â¹Ô¤µ¤ì¤º¡¢
¤½¤Î¤¿¤á¥¨¥é¡¼¤ò²óÈò¤¹¤ë¤³¤È¤ËÃí°Õ¡£
and
¤Ï¡¢if
¤äcond
¤Çɽ¸½¤Ç¤¤ë¡£
¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤Î¤È¤ª¤ê¡£
(and arg1 arg2 arg3) ≡ (if arg1 (if arg2 arg3)) ≡ (cond (arg1 (cond (arg2 arg3))))
¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àor
¤Ï¡¢
conditions¤Î¾¯¤Ê¤¯¤È¤â1¤Ä¤¬¿¿¤Ç¤¢¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë¡£
conditions¤ò1¤Ä1¤Ä½ñ¤«¤ì¤¿½ç¤Ëɾ²Á¤·¤ÆÄ´¤Ù¤ë¡£
conditions¤Î¤É¤ì¤«¤¬nil
°Ê³°¤Ëɾ²Á¤µ¤ì¤ë¤È¡¢
or
¤Î·ë²Ì¤Ïnil
°Ê³°¤Ë¤Ê¤ë¡£
¤½¤·¤Æ¡¢or
¤Ï¤¿¤À¤Á¤Ë´°Î»¤·¡¢
conditions¤Î»Ä¤ê¤ò̵»ë¤¹¤ë¡£
Ìá¤êÃͤϡ¢nil
°Ê³°¤Ëɾ²Á¤µ¤ì¤¿ÃͤǤ¢¤ë¡£
conditions¤¹¤Ù¤Æ¤¬nil
¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ë¤È¡¢
or
¤Ïnil
¤òÊÖ¤¹¡£
¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤Î¼°¤Ï¡¢x
¤¬0¤«nil
¤Ç¤¢¤ë¤³¤È¤òÄ´¤Ù¤ë¡£
(or (eq x nil) (eq x 0))
and
¹½Â¤¤ÈƱÍͤˡ¢or
¤Ïcond
¤Ç½ñ¤É½¤»¤ë¡£
¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤Î¤È¤ª¤ê¡£
(or arg1 arg2 arg3) ≡ (cond (arg1) (arg2) (arg3))
or
¤òif
¤Ç½ñ¤¯¤³¤È¤â¤À¤¤¤¿¤¤¤Ç¤¤ë¤¬¡¢
ÅÓÃæ¤ÇÈ´¤±½Ð¤»¤Ê¤¤¡£
(if arg1 arg1 (if arg2 arg2 arg3))
¤³¤ì¤Ï´°Á´¤Ë¤ÏƱ°ì¤Ç¤Ï¤Ê¤¤¡£
¤È¤¤¤¦¤Î¤Ï¡¢arg1¤äarg2¤ò2ÅÙɾ²Á¤¹¤ë¤«¤é¤Ç¤¢¤ë¡£
°ìÊý¡¢(or arg1 arg2 arg3)
¤Ï¡¢
¤É¤Î°ú¿ô¤â°ìÅÙ¤À¤±É¾²Á¤¹¤ë¡£