Erlang 从零 · 第 01 课(展开目录)
01 · 先打开 erl02 · 先认常见 term03 · 分清两种文字04 · 变量只接一次05 · 拆开一列,再筛一次06 · 把文字安全变成整数07 · 用 case 选一条路08 · 让函数继续走09 · 把代码放进模块10 · 条件必须说真话11 · 一层一层取数据12 · 文字先说清编码13 · 让函数子句排好队14 · 带着累加器往前走15 · 先看值,再选路16 · 给模块立规矩17 · 让 rebar3 管项目18 · 让结果有固定形状19 · 把磁盘当成会失败的邻居20 · 把函数交给 list21 · record 留在院里22 · 先写模块之间的约定23 · 把 term 形状写出来24 · 小测试与整段路25 · 把应用磨成命令26 · 先把小项目圈住27 · 把真实文件洗干净28 · 公开入口越少越稳29 · 把约定留在源码旁30 · 打包,也留下线索31 · 按最初任务交卷
ERLANG · 试跑 · LESSON 0115 分钟
先打开 erl
在 Erlang shell 里运行表达式,记住句末的点。
01 · 先看完整例子
复制到 erl,逐行回车
注意每段可运行代码最后都有句点。
Erlang
%% 加法表达式返回一个数字
2 + 3.
%% 调用 string 模块,把文字变成大写
string:uppercase("cat").
%% 调用 io 模块,把文字打印出来
io:format("hello, BEAM~n", []).先对照结果
2 + 3.返回5。string:uppercase("cat").返回"CAT"。io:format(...)打印一行文字,再显示ok;先把它当作“做完了”标签。
02 · 回头拆代码
从第一行往下读
2 + 3.中,最后的点不是小数点,它结束这条输入。string:uppercase("cat").调用string模块中的uppercase函数。~n表示换行;空 list[]表示这次没有额外值要填进格式字符串。
03 · 认清新符号
符号不是暗号
erl在终端输入它,打开 Erlang shell。
1>shell 提示符。只输入它后面的代码。
.告诉 shell:这句写完了,可以运行。
04 · 代码里的概念
把名字和意思对上
erl
启动 Erlang shell 的终端命令。
表达式
运行后会得到一个值的代码,如 2 + 3。
句点
Erlang 中一条完整 shell 输入或函数定义用 . 结束。
05 · 再说清楚
这些写法为什么有用
erl 会打开 Erlang shell。它和 IEx 一样,适合马上试一小段代码。
Erlang shell 要等到句点 . 才知道一句代码结束。忘记句点时,它会继续等,而不是立即运行。
shell 前面的 1>、2> 是提示符和输入序号,不是你要复制的代码。
06 · 自己改一次
合上答案,动手
让 shell 算出 8 乘 7,再把 beam 变成大写。
练习起点
%% 补上运算符,也别忘了句点
8 ? 7.
%% 补上函数名
string:____("beam").目标结果: 先看到 56,再看到 "BEAM"。
卡住了,再看提示
乘法用 *。示例中的函数名是 uppercase。
运行过以后,再看一种答案
一种答案
%% 星号表示乘法
8 * 7.
%% 每次输入都以句点结束
string:uppercase("beam").想一想:输入 `2 + 3` 后 shell 还在等待,最可能少了什么?
少了句末的点。补上 . 再按回车。
带走
记住三句
- 1
erl打开 Erlang shell。 - 2
shell 适合试很短的 Erlang 表达式。
- 3
完整输入以句点结束。
本课结束代码也跑过一次,就把这一课收好。