npt-japanese

% Special-Operator IF

UP


Special-Operator IF

Special Operator IF

構文

if test-form then-form [else-form] => result*

引数と戻り値

test-form - フォーム
then-form - フォーム
else-form - フォーム、デフォルトはnil
result - もしtest-formtrueのときは、then-formの返却値です。 それ以外はelse-formの返却値です。

定義

iftest-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 NIL
>>  TRUE 1
>>  TRUE (A B C)
=>  NIL

影響

なし。

例外

なし。

参考

cond, unless, when

備考

(if test-form then-form else-form)
== (cond (test-form then-form) (t else-form))

TOP, Github