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 频道相结合。

学习 Erlang 是一本轻松的教程,只需要一两天就能学完。或者,有一个 简陋的在线教程

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

Erlang 分发版包含一个逐步的入门指南。这也在 在线

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

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

许多 大学 开设有关 Erlang 的课程,无论是部分课程还是全部课程。有关函数式编程的课程也有助于打下坚实的基础,让你能够轻松自学 Erlang。

4.3  "hello world" 长什么样?

以下是编写 hello world 的一种方法

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

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

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

	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 来避免这种情况。