iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
自我挑戰組

從零開始的 clojure系列 第 5

Day 5 Clojure Control Flow- do

  • 分享至 

  • xImage
  •  

前言

大家好,我是對於 Clojure 一無所知的菜鳥小白工程師。

今天來學習控制流程中的 do

click Try Clojure to start clojure!

do

前一章節我們最後有提到,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 表達式的分支中執行多個操作。

在上述例子中,執行了兩件事情:

  1. 在REPL 印出了 Success!
  2. 整個 if 表達式的回傳值為 "By Zeus's hammer!"

參考文章


上一篇
Day 4 Clojure Control Flow- if
下一篇
Day 6 Clojure Control Flow- when
系列文
從零開始的 clojure23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言