Elixir - case, cond, and if
case
case
允许我们在多个条件中,选取一个与参数匹配的项。匿名函数也可以完成域case相同的功能
iex(13)> case {1, 2, 3} do
...(13)> {1, x, 3} when x > 0 ->
...(13)> "Will match"
...(13)> _ -> "Would match, if guard condition were not satisfied"
...(13)> end
"Will match"
iex(14)>
cond
当我们需要检查不同条件并且找到第一个结果不是 nil
或是 false
的值,在这种条件下, 使用 cond
为避免返回值为 nil
和 false
,需添加一个默认返回值,ture 时的状态
iex> cond do
...> 2 + 2 == 5 ->
...> "This is never true"
...> 2 * 2 == 3 ->
...> "Nor this"
...> true -> # 除了 nil 和 false 任何值cond都认为为 true
...> "This is always true (equivalent to else)"
...> end
"This is always true (equivalent to else)"
if and unless
当我们只需要检查一个条件是否符合要求时,可以使用 if/2
、unless/2
注意⚠️: 在case、cond、if、unless为内部作用域,内部作用域内操作外部变量,不会改变外部变量的值。
Elixir - case, cond, and if相关推荐
- shell 脚本简单入门
好久不写shell脚本,有些生疏.总结下shell的语法,以便后续参考,快速捡起来. shell 脚本执行的3种方式: 1). ./xx.sh (xx.sh 需要有执行权限) 2). source x ...
- Reversing Ethereum Smart Contracts: Part 2
In my previous tutorial, we began reversing engineering the Greeter.sol contract. Specifically, we l ...
- 针对 Java 开发人员的 C# 编程语言
• C# 语言引入了一些新的语言构造,如 foreach.索引器.属性.委托.运算符重载和其他语言构造.在本文后面我们将更详细地讨论这些构造. 本页内容 源文件约定 顶层声明 完全限 ...
- 3D万花筒无限延伸动画特效(源码)
HTML代码 <!DOCTYPE html> <html lang="en" > <head> <meta charset="U ...
- ThinkPHP-1基础
实践学习php,thinkphp,Redis,vue,uni-app等技术,推荐开源电商系统likeshop,可以借鉴思路,可去版权免费商用,gitee下载地址: 点击进项目地址 国产 PHP web ...
- openGL之glsl入门6--画三维图魔方、圆柱体
这一章介绍坐标变换与矩阵相关内容,对应红宝书第5章内容,并通过两个简单的例子展示矩阵变换的效果. 1. 坐标变换 变换的类型有多种,包括视图.模型.投影.视口变换等,概念可以参照红宝书5.1章节,概念 ...
- UML相关工具一览(截止2010年7月)
UML相关工具一览(截止2010年7月) 整理 本文的PDF版本在此下载>> 以下总结了全世界的各种UML相关工具,按工具名称字母排序. 工具(最新版本) 厂商&地址 版权 UML ...
- UML相关工具一览(截止2012年5月)
原文地址:http://www.umlchina.com/tools/newindex1.htm UML相关工具一览(截止2012年5月) 整理 本文的PDF版本在此下载>> 以下总结了 ...
- Recheck Cond filter IO\CPU放大 原理与优化CASE - 含 超级大表 不包含(反选) SQL优化
标签 PostgreSQL , 全文检索 , 数组 , 不包含 , not in , bitmap scan filter , toast 切片存储 , except , IO , cpu , 放大 ...
最新文章
- system.out 汉字乱码
- Science: 多因子在驱动土壤功能及真菌群落变化中的作用
- 半可信混合技术:BCH混币工具CashShuffle引入STAT
- Python之pandas:将dataframe数据写入到xls表格的多个sheet内(防止写入数据循环覆盖sheet表)
- Ubuntu16.04安装搜狗输入法后有黑边问题的解决方法
- 6-4 二叉树的非递归遍历 (25分)_本周小结!(二叉树)
- 读书笔记《Spring Boot实战 —— Java EE 开发的颠覆者》
- 0.07 秒启动一个 SpringBoot 项目!
- 3.8 Spark 用户日志分析
- SurfaceView实例
- Java Eclipse下载安装教程
- Windows 虚拟机介绍以及安装系统教程
- 如何制作双层PDF文档?其实只需简单一步!
- 23个热门python爬虫项目,爬虫仍需谨慎,牢饭不是很香!!!
- python股票交易模型_利用python建立股票量化交易系统(一)——小市值选股票模型...
- 非线性动力学常见的分析方法包括
- 远程控制teamviewer|远程桌面teamviewer|远程桌面连接软件teamviewer|teamviewer无人值守
- 微信小程序广告接入,小程序加广告
- 山东省第七届ACM大赛E题题解
- 【渝粤教育】电大中专电子商务网站建设与维护 (6)作业 题库