Erlang 基础学习 5 编译和运行

如何退出erlang 的shell
• ^G + d
• ^C + a
• erlang:halt(). 暴力退出,很快,但是如果打开了一个很大的数据库的话,下次启动可能要作recover
• q(). 或者init:stop(). 将关闭所有打开的文件,停止数据库,按次序停止所有的OTP程序

修改开发环境
• 代码查找路径(类似于classpath),可以通过code:get_path().查看当前的路径
• @spec code:add_patha(Dir) => true | {error, bad_directory}  加在最前面
• @spec code:add_pathz(Dir) => true | {error, bad_directory}  加在最后面
• 通过code:all_loaded().查看当前装载的代码
• code:clash().可以帮助检查在路径上的名字冲突

• 1. 可以修改$HOME/.erlang 来设置路径,例如:
• code:add_patha("/home/argan/erl").
• 2. 也可以通过命令行参数来指定,例如:
• erl -pa /home/argan/erl/ -pz /home/argan/erl2/ -pz /home/argan/erl3/
• 3. 当前路径的.erlang 比$HOME/.erlang优先级高
• 4. 可以通过init:get_arguments().和init:get_argument(ArgumentName).来查看参数

运行程序
• 1. 在shell里运行c(module). module:func(param).
• 2. 在命令行erl -noshell -s hello start  -s init stop
• 3. 还可以不写文件,直接eval,例如
• erl -eval 'io:format("Memory: ~p~n" , [erlang:memory(total)]).'  -noshell -s init stop
• 4. 用escript,需要一个main,例如:
#!/usr/bin/env escript
main(_) ->
    io:format("Hello world\n" ).

Makefile
• 略

erlang shell
• 有部分emacs风格的键盘绑定
• ^A 行首
• ^E 行尾
• ^F 前进
• ^B 后退
• ^P 上一行
• ^N 下一行
• ^T 交换最后两个字符
• Tab 自动补全module名和function名,很好用啊!!
• 创建一个user_default module,里面的函数也都可以直接在shell里调用
• webtool:start().有很多工具可以使用,比如分析crash dump的工具


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值