Special Operator IF
if
test-form then-form [else-form] => result*
test-form - フォーム
then-form - フォーム
else-form - フォーム、デフォルトはnil
。
result - もしtest-formがtrueのときは、then-formの返却値です。 それ以外はelse-formの返却値です。
if
はtest-form単体に依存したフォームの実行を行います。
最初にtest-formが評価されます。 もしその値がtrueのときは、then-formが選ばれます。 そうでないときは、else-formが選ばれます。 選ばれたフォームのどちらかが評価されます。
if t 1) => 1
(if nil 1 2) => 2
(defun test ()
(dolist (truth-value '(t nil 1 (a b c)))
(if truth-value (print 'true) (print 'false))
(prin1 truth-value))) => TEST
(
(test)
>> TRUE T
>> FALSE NIL1
>> TRUE
>> TRUE (A B C)=> NIL
なし。
なし。
if test-form then-form else-form)
(cond (test-form then-form) (t else-form)) == (