Elixir - Case 語句



Case 語句可視為命令式語言中 switch 語句的替代品。Case 取一個變數/字面值,並應用模式匹配到不同的 case 中。如果任一 case 匹配,Elixir 會執行與該 case 關聯的程式碼並退出 Case 語句。如果沒有找到匹配項,它會退出該語句,並出現一個 CaseClauseError,顯示 未找到匹配子句。你應該始終使用一個匹配所有值的 case,即 _。這有助於防止上述錯誤。這與 switch-case 語句中的 default case 類似。

語法

if 語句的語法如下 −

case value do
      matcher_1 -> #code to execute if value matches matcher_1
	matcher_2 -> #code to execute if value matches matcher_2
	matcher_3 -> #code to execute if value matches matcher_3
	...
	_ -> #code to execute if value does not match any of the above
end

示例

case 3 do
   1 -> IO.puts("Hi, I'm one")
   2 -> IO.puts("Hi, I'm two")
   3 -> IO.puts("Hi, I'm three")
   _ -> IO.puts("Oops, you dont match!")
end

上述程式生成以下結果。

Hi, I'm three

請注意,case 選擇是使用模式匹配完成的,所以你可以使用標準模式匹配技術。

elixir_decision_making.htm
廣告
© . All rights reserved.