Erlang logo

入门

封面

全部展开
全部收缩

目录

4 入门

4.1  学习 Erlang 需要多长时间?

这取决于情况。(你还期望什么其他的答案吗?)

对于有命令式语言背景(例如 C、Python、Java、C++、Pascal、PERL 等)的人来说,大多数人大约需要一周才能编写出非平凡的程序,大约一个月才能真正感到舒适,几个月后才能感到准备好自己承担一些大事。身边有人知道如何使用 Erlang 会很有帮助。

对于有其他声明式语言(Lisp、Prolog、Haskell、Scheme 等)背景的人来说,你可以立即编写 Erlang 代码,但要学会利用容错和并发性还需要一段时间。

4.2  我如何学习 Erlang?

许多人通过阅读书籍或在线教程自学,通常会同时在 erlang-questions 邮件列表 或 irc.freenode.net 上的 #erlang IRC 频道上发帖提问。

Learn You Some Erlang 是一个轻松的教程,只需一两天即可完成。或者,还有一个 简易在线教程

任何 Erlang 书籍 也可以用作教程。

Erlang 发行版包含一个循序渐进的入门指南。也可以在线查看。

爱立信为爱立信员工开设培训课程。

erlang-solutions.com 开设面向企业的培训课程(主要在伦敦和斯德哥尔摩,但在美国、亚洲和澳大利亚也有)。这些课程通常与每年的 Erlang 用户大会一起举办。

许多 大学 开设部分或全部关于 Erlang 的课程。关于函数式编程的课程对于获得扎实的基础也很有用,这可以让你轻松地自学 Erlang。

4.3  “你好,世界”是什么样子的?

这是编写你好世界的一种方法

	-module(hello).
	-export([hello_world/0]).

	hello_world() -> io:fwrite("hello, world\n").
	

要编译它,请将其保存在名为 hello.erl 的文件中,并从 Erlang shell 中编译它。不要忘记每个命令末尾的句点(英文中的“period”),如下所示

	Erlang (BEAM) emulator version 4.9.1 [source]

	Eshell V4.9.1  (abort with ^G)
	1> c(hello).
	{ok,hello}
	

(在 unix 系统上,您可以通过在命令行中输入“erl”来启动 Erlang shell。在 Windows 上,打开命令提示符窗口并输入“werl”,或者在程序菜单中找到 Erlang 图标)。要从 Erlang shell 运行程序

	2> hello:hello_world().
	hello, world
	ok
	

4.4  如何退出 Erlang shell?

要干净地关闭系统,请使用 init:stop().

一些快速方法是评估 halt().Control+\

Control+CControl+G 可以让您访问菜单。

4.5  为什么 Erlang 在我的程序输出后打印“ok”?

Erlang shell 的工作原理是 reading(读取)一个 Erlang 表达式,evaluating(评估)它,printing(打印)结果,然后 looping(循环)以获取另一个表达式,即 REPL shell。

io:fwrite() 函数执行两项操作。它打印出“hello world”并返回 ok 值。

因此,当你在 shell 中执行 io:fwrite("hello, world\n") 时,fwrite 函数打印第一行,shell 打印返回值 ok。这可以通过在没有 shell 的情况下运行 Erlang来避免。