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