Elixir 从零 · 第 01 课(展开目录)
01 · 先让代码说话02 · 先认六种值03 · 把值装起来04 · 从旧 list 生成新 list05 · 让形状对上06 · 用 case 做选择07 · 把文字安全变成整数08 · 拆开 &1 和管道09 · 把代码放进项目10 · 真假不只靠 true11 · 走进嵌套数据12 · 一字不一定一字节13 · 让函数按形状接活14 · 把一列数收成一个值15 · 给不同问题选不同路16 · 给 map 一张名片17 · 让项目自己验答案18 · 让成功和失败长得一样19 · 读写文件先管好路20 · 只算眼前需要的21 · 同一句话,不同做法22 · 先约好模块会做什么23 · 把数据形状写在门口24 · 测试不只看一条好路25 · 把项目磨成一个命令26 · 定下小项目边界27 · 把真实文字洗干净28 · 只开三扇门29 · 把约定钉在代码旁30 · 打包,也留下脚印31 · 照任务书交卷
ELIXIR · 试跑 · LESSON 0115 分钟

先让代码说话

打开 IEx,输入表达式,分清代码、结果和报错。

01 · 先看完整例子

复制到 IEx,逐行回车

每次只运行一行。先猜结果,再按回车。

Elixir
# 加法表达式会返回一个数字
2 + 3

# 函数调用会返回一段新文字
String.upcase("cat")

# IO.puts 会把一句话打印到屏幕
IO.puts("你好,BEAM")
先对照结果
  • 2 + 3 返回 5。
  • String.upcase("cat") 返回 "CAT"。
  • IO.puts("你好,BEAM") 先打印文字,随后显示 :ok;先把它当作“做完了”标签。
02 · 回头拆代码

从第一行往下读

  1. 2 + 3 中,+ 把左右两个数字相加。
  2. String.upcase("cat") 把字符串交给 String 模块里的 upcase 函数。
  3. IO.puts("你好,BEAM") 会产生两个可见结果:屏幕上的文字,以及 IEx 显示的返回值 :ok。
03 · 认清新符号

符号不是暗号

iex

在终端输入它,打开 IEx。

iex>

这是提示符。只输入它后面的代码,不要复制提示符。

#

这一行是注释。Elixir 不会执行它。

04 · 代码里的概念

把名字和意思对上

01

IEx

Interactive Elixir 的缩写。它像草稿纸,适合试一两行代码。

02

表达式

运行后会得到一个值的代码。数字、运算、函数调用都可以是表达式。

03

返回值

一段表达式算完后交回来的结果。它不一定会打印成一句话。

05 · 再说清楚

这些写法为什么有用

IEx 是 Elixir 的交互窗口。你输入一小段代码,它马上给出结果。刚开始不用建项目,也不用背命令。

表达式是一段会产生结果的代码。2 + 3 的结果是 5。String.upcase("cat") 的结果是 "CAT"。

看到报错先停一下。读最后几行,找出电脑不认识的名字或不合适的数据。报错不是扣分,它只是结果的一种。

06 · 自己改一次

合上答案,动手

让 IEx 算出 7 乘 6,再把 beam 变成大写。

练习起点
# 把问号换成一个运算符
7 ? 6

# 把函数名补完整
String.____("beam")

目标结果: 先看到 42,再看到 "BEAM"。

卡住了,再看提示

乘法用 *。刚才把文字变成大写的函数叫 upcase。

运行过以后,再看一种答案
一种答案
# 星号表示乘法
7 * 6

# upcase 返回大写后的新字符串
String.upcase("beam")
想一想:`iex>` 是代码的一部分吗?

不是。它是 IEx 等你输入代码时显示的提示符。

带走

记住三句

  1. 1

    IEx 适合试很短的 Elixir 代码。

  2. 2

    表达式运行后会得到一个值。

  3. 3

    先看报错写了什么,再只改一个地方。

本课结束代码也跑过一次,就把这一课收好。