大家好,我是對於 Clojure 一無所知的菜鳥小白工程師。
開始來學學 Clojure 的控制流程吧!
今天學習目標 if
。
click Try Clojure to start clojure!
這是 Clojure 中 if
表達式的一般結構:
(if boolean-form
then-form
optional-else-form)
上述的結構,可以看成 if 表達式有三個基本組成:
boolean-form
: 條件表達式,回傳 true or falsethen-form (then branch)
: 如果 if 條件為 true,則回傳 then-form 的結果optional-else-form (else branch)
: 如果 if 條件為 flase,則回傳 optional-else-form 的結果我們來看看以下範例:
;如果 if 條件為 true,則回傳 then-form 的結果
(if true
"By Zeus's hammer!"
"By Aquaman's trident!")
; => "By Zeus's hammer!"
;如果 if 條件為 flase,則回傳 optional-else-form 的結果
(if false
"By Zeus's hammer!"
"By Aquaman's trident!")
; => "By Aquaman's trident!"
我們也可以不寫 optionas-else-form(else branch)。
如果沒寫出 else branch,boolean-form 又為 false,則會回傳 nil
。
(if false
"By Odin's Elbow!")
; => nil
請注意,if 表達式使用運算元的位置來關聯 then & else branches。
第一個運算元是 then
分支,第二個運算元是(optional)else
分支。因此,每個分支只能有一個表達式。
如果要處理複雜的 form,則必須用 do
包起來,我們將在下一章學習 do
的用法!