- Elixir 教程
- Elixir - 主页
- Elixir - 概述
- Elixir - 环境
- Elixir - 基本语法
- Elixir - 数据类型
- Elixir - 变量
- Elixir - 操作员
- Elixir - 模式匹配
- Elixir - 决策
- Elixir - 弦乐
- Elixir - 角色列表
- Elixir - 列表和元组
- Elixir - 关键字列表
- Elixir - 地图
- Elixir - 模块
- Elixir - 别名
- Elixir - 功能
- Elixir - 递归
- Elixir - 循环
- Elixir - 可枚举
- Elixir - 流
- Elixir - 结构
- Elixir - 协议
- Elixir - 文件 I/O
- Elixir - 流程
- 长生不老药 - 印记
- Elixir - 领悟
- Elixir - 类型规格
- Elixir - Behave
- Elixir - 错误处理
- Elixir - 宏
- Elixir - 图书馆
- Elixir 有用资源
- Elixir - 快速指南
- Elixir - 有用的资源
- Elixir - 讨论
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