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+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来避免。