Elixir - 案例陈述


case 语句可以被认为是命令式语言中 switch 语句的替代品。Case 接受一个变量/文字,并在不同的情况下对其应用模式匹配。如果任何 case 匹配,Elixir 就会执行与该 case 关联的代码并退出 case 语句。如果未找到匹配项,则会退出该语句,并显示CaseClauseError,其中显示nomatching Clauses were found。您应该始终有一个带有 _ 的情况,它与所有值匹配。这有助于防止上述错误。这也与 switch-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

请注意,案例选择是使用模式匹配完成的,因此您可以使用标准模式匹配技术。

elixir_decision_making.htm