(if test-exp then-exp)
(if test-exp then-exp else-exp).
|
הכתיבה test-exp מציינת ביטוי בוליאני, בעוד ש then-exp ו-else-exp הם ביטויים ממש. אם ערך test-exp
הוא אמת - יתבצע then-exp, אחרת יתבצע else-exp.
להלן כמה דוגמאות:
(if (> n 0) (= n 10))
(if (null? list) list (cdr list))
|
הסבר הדוגמא השנייה: ה-list הוא ביטוי ה-then, בעוד ש-(cdr list) הוא ביטוי ה-else.
ל-Scheme דרך נוספת לבצע תנאי. דרך זו דומה במבנה שלה ל-case בה מצוינים כמה זוגות תנאי-תוצאה.
המבנה הוא כמו אחת הצורות הבאות:
(cond
( test-exp1 exp ...)
( test-exp2 exp ...)
...)
(cond
( test-exp exp ...)
...
(else exp ...))
|
שני ביטויי ההתניה הבאים הם שקולים:
(cond
((= n 10) (= m 1))
((> n 10) (= m 2) (= n (* n m)))
((< n 10) (= n 0)))
(cond
((= n 10) (=m 1))
((> n 10) (= m 2) (= n (* n m)))
(else (= n 0)))
|