以下はすべてEshell上での実行結果例です。
C言語などのif-else文に相当する記述を行うためにはcondを使用します。
$ (cond ((/= 1 1)
"msg"
"1")
((= 1 1)
"msg2")
(t
"msg3"))
msg2
condだけでも事足りますが、他にも状況によっては便利な条件分岐方法が存在します。
$ (if (= 1 2)
"true" ;真フォームは1つのみ
"false1" ;偽フォームは複数可能。偽フォームは省略可能。
"false2")
false2
$ (when (= 1 1) ;真の場合に複数フォームを実行
"msg1"
"msg2")
msg2
$ (unless (/= 1 1) ;偽の場合に複数フォームを実行
"msg1"
"msg2")
msg2