【翻译】LearnYouSomeErlangForGreatGood(二):起始

The Shell

  在Erlang中,你可以在模拟器上试验大部分工作,它将在编译和部署之后执行你的代码,同时也允许你实时编辑你的代码。在Linux下启动shell,打开一个终端并如数$ erl。如果你已经正确安装了所有内容,那么你应该会看到以下内容:

Erlang R13B01 (erts-5.7.2) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.2  (abort with ^G)

  恭喜!你成功启动了Shell。
  对于Windows用户,比起运行erl.exe,我更推荐你使用werl.exe,你可以在开始菜单找到它(程序->Erlang)。Werl是Window版Erlang Shell,它拥有一个带滚动条支持命令行编辑(复制-粘贴等功能,标准cmd永远的痛)的窗口。但想要重定向标准输入输出或使用管道操作符,仍需使用erl.exe。
  我们马上就能够在模拟器输入和运行代码了,但首先,我们来看看怎样深入其中。
  


Shell Commands

  Erlang Shell基于一个自70年起就风靡全球的文本编辑器Emacs。对于熟悉Emacs的读者,将会感动非常舒适。即使不熟悉,也没有什么关系。
  首先,如果你在输入文本之后按下^A(Ctrl + A),你将发现光标已经移到了行首。按下^E,光标将移到行尾。还可以使用箭头按键来前进、后退、重复上一行或下一行代码。
  如果你输入了一些文本如li之后按下“tab”,shell会帮你将这一项补全成lists:。再次按下tab,shell将给出许多建议函数。这里Erlang补全了模块lists,并从中找出建议使用的函数。你也许会觉得有些怪异,但别担心,很快就会熟悉起来的。
  我想我们已经见识到shell够多功能了,除了一个:我们还不知道怎么退出!找出它的捷径是输入help()。你就能获取到一堆可以在shell下使用的命令的信息(别忘了句号(.),它是运行命令必须的)。后面我们会使用到这些命令的,但现在能让我们出去的是:
  q()——quit - init:stop()的简写
  这就是那个退出的方法(事实上,两个方法)。但这在shell无响应时一点鸟用都没有!而在启动shell时,如果你够仔细,就会发现有一行”aborting with ^G“的注释。我们就这样干,然后按下h来获取帮助。

User switch command
--> h
c [nn]            - connect to job
i [nn]            - interrupt job
k [nn]            - kill job
j                 - list all jobs
s [shell]         - start local shell
r [node [shell]]  - start remote shell
q        - quit erlang
? | h             - this message
-->

  如果你按下ic,Erlang将停止运行当前代码并返回可响应的shell。i将所有运行的进程列表展示给你(数字之后带一个星表示当前运行的进程),接着你可以使用i带上列表中的数字来终止那个进程。如果使用k,你将杀死shell而不是终止它。按下s来启动一个新的。

Eshell V5.7.2  (abort with ^G)
1> "OH NO THIS SHELL IS UNRESPONSIVE!!! *hits ctrl+G*"
User switch command
--> k
--> c
Unknown job
--> s
--> j
2* {shell,start,[]}
--> c 2
Eshell V5.7.2  (abort with ^G)
1> "YESS!"

  如果你回头读一下帮助文本,你会发现我们可以启动远程shell。我现在不会过多陷入细节,但你可以意识到除了执行代码外Erlang VM也许还有些其他功能。现在,让我们真的开始吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值