大家好,我是對於 Clojure 一無所知的菜鳥小白工程師。
今天來學習控制流程中的 do
。
click Try Clojure to start clojure!
前一章節我們最後有提到,Clojure 的 if 運算元,只能對應一個 form。
舉例來說,Ruby 可以在對應的條件下執行多行程式碼(如下),但 coljure 不行。
# ruby
if true
puts "Success!"
"By Zeus's hammer!"
else
puts "Failure!"
"By Aquaman's trident!"
end
# => 印出 Success!
# => 回傳 "By Zeus's hammer!"
在 Clojure 中,我們需要使用 do
來實現執行多個 form 的行為 。
do
可以將多個表達式包裝在括號中,然後逐一執行它們:
; clojure
(if true
(do (println "Success!")
"By Zeus's hammer!")
(do (println "Failure!")
"By Aquaman's trident!"))
; => 印出 Success!
; => 回傳 "By Zeus's hammer!"
使用 do
可以讓我們在每個 if
表達式的分支中執行多個操作。
在上述例子中,執行了兩件事情:
Success!
if
表達式的回傳值為 "By Zeus's hammer!"
。