elixir case cond if
case 允许我们对很多模式的值进行比较 直到找到匹配的
--》不要想成 switch case
iex(58)> x = 1
1
iex(59)> case 10 do
...(59)> x -> "1000"
...(59)> _ ->"200"
...(59)> end
"1000"
对一个现存的变量进行模式匹配,你需要^操作符
iex(60)> x = 1
1
iex(61)> case 10 do
...(61)> ^x -> "1000"
...(61)> _ -> "200"
...(61)> end
"200"
cond 找出第一个为真的
类似switch case 或者 else if
iex(65)> cond do
...(65)> 2+2 == 5 -> "11111"
...(65)> 1+1 == 2 ->"222"
...(65)> end
"222"
if 和 unless
iex> if true do
...> "This works!"
...> end
"This works!"
iex> unless true do
...> "This will never be seen"
...> end
nil
if --else
iex> if nil do
...> "This won't be seen"
...> else
...> "This will"
...> end
"This will"
elixir case cond if的更多相关文章
- Erlang 和 Elixir的差异
原文: http://elixir-lang.org/crash-course.html 函数调用 Elixir允许你调用函数的时候省略括号, Erlang不行. Erlang Elixir some ...
- javaweb回顾第八篇如何创建自定义标签
前言:在javaweb开发中自定义标签的用处还是挺多的.今天和大家一起看自定义标签是如何实现的. 1:什么是标签 标签是一种XML元素,通过标签可以使JSP页面变得简介易用,而且标签具有很好的复用性. ...
- elixir 入门笔记
安装 MAC 平台用 brew 安装 brew update brew install elixir 如果没有 erlang 环境,上面的命令会自定安装 erlang 的环境. 基本数据类型 iex& ...
- Elixir - Hey, two great tastes that go great together!
这是Elixir的作者 José Valim 参与的一次技术访谈,很有料,我们可以了解Elixir的一些设计初衷,目标等等. 原文在: http://rubyrogues.com/114-rr-eli ...
- [Erlang 0113] Elixir 编译流程梳理
注意:目前Elixir版本还不稳定,代码调整较大,本文随时失效 之前简单演示过如何从elixir ex代码生成并运行Erlang代码,下面仔细梳理一遍elixir文件的编译过程,书接上文,从 ...
- 基于Erlang VM的函数式编程语言Elixir
Elixir官网:http://elixir-lang.org/ Elixir是一种函数式动态语言,用于构建可伸缩.易维护的应用程序. Elixir是基于Erlang VM的,其广为人知的特点是运行低 ...
- elixir 高可用系列(三) GenEvent
概述 GenEvent 是事件处理的通用部分的抽象. 通过 GenEvent ,我们给已有的服务 动态 的添加 事件处理. GenEevent 和 GenServer 的区别 之前已经介绍了 GenS ...
- MySQL优化器 limit影响的case
测试的用例中,因为limit的大小不同,而产生了完全不同的执行计划: 1. 测试case: create table t1 ( f1 ) not null, f2 ) not null, f3 ) n ...
- [lua]尝试一种Case语法糖
function CaseT(arg) function proxy(caller) caller.yield(r) end -- proxy return function (cond) if (c ...
随机推荐
- 微信小程序云函数 添加数据到数据库
1.新建小程序,建立云开发快速启动模板 这里和普通小程序的区别有三点 一是 project.config.json写上云函数所在目录"cloudfunctionRoot": &qu ...
- 【Java并发编程】:Runnable和Thread实现多线程的区别
Java中实现多线程有两种方法:继承Thread类.实现Runnable接口,在程序开发中只要是多线程,肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下 ...
- docker 搭建 php-mysql-nginx-redis-rabbitmq环境
#创建redisdocker create -p 6379:6379 -v redis:/data --restart=always --name myredis redis #创建mysqldock ...
- 最小化或关闭Outlook2013到系统托盘
https://community.spiceworks.com/how_to/36214-minimize-and-or-close-outlook-to-taskbar 要注意里面提到的以管理员权 ...
- Jmeter环境搭建
一.工具描述 Apache JMeter是 100 %的 java 桌面应用程序.它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件, Java Servlets , Java 对象,数 ...
- Gen代码解读
源代码为: package com.test19; public class Test04 { void spin(){ int i; for(i=0;i<100;i++){ ; } i = 0 ...
- hexo上部署博客到Github失败
fatal: could not read Username for 'https://github.com': No error 今天在上传博客到搭建到 Github 的个人博客上的时候,已经使用 ...
- 解惑《你必须知道的.net》——C#继承关系中【方发表】的创建和调用
前言: 现在正在读<你必须知道的.net>(第二版)一书,看到IL语言那一章,将call.callvirt和calli时候,书中举了一个例子,是一个三层继承的例子,我一开始看的时候就有点懵 ...
- BiLSTM+CRF 实体识别
https://www.cnblogs.com/Determined22/p/7238342.html 这篇博客 里面这个公式表示抽象的含义,表示的是最后的分数由他们影响,不是直观意义上的相加. 为什 ...
- YAOLEI
http://www.cnblogs.com/skyblue/p/3356933.html