如何退出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的工具
•
分享到:
相关推荐
顺序编程是 Erlang 编程语言的基础,用户可以使用 Erlang Shell 编写和运行顺序编程代码。顺序编程是指按照顺序执行的编程方式,用户可以使用各种运算符号和函数来实现不同的计算任务。 3. 模块和函数 模块和函数...
Erlang 是一种功能强大的并发性编程语言,主要用于构建分布式、高并发、容错性强的系统,尤其在电信、银行和互联网基础设施等领域有着广泛的应用。本文将详细介绍如何安装和配置 Erlang 运行环境。 首先,了解 ...
理解函数式编程的核心概念,如不可变数据、高阶函数和模式匹配,是学习Erlang的基础。 2. **过程与并发**:Erlang中的并发是通过轻量级进程(Lightweight Processes, LWP)实现的,每个进程有自己的堆栈和消息队列...
这种即时反馈的特性使得Erlang Shell成为学习和测试Erlang代码的理想场所。 更复杂的数学运算也能轻松处理,比如`(42+77)*66/3.`,Erlang Shell能够正确解析并执行加、减、乘、除等运算,返回结果`2618.00`。这展示...
Erlang是一种专为电信行业开发的并行编程语言和运行时系统,由爱立信公司...虽然本文档提供了Erlang的基础知识,但若要深入学习并使用Erlang进行编程,建议通过系统学习专门介绍Erlang的书籍或资料来获得更全面的了解。
5. **并发与分布式系统支持**:Erlang以其轻量级进程和消息传递为基础的并发模型著名,新版本可能会加强这方面的能力,更好地支持分布式应用程序。 6. **编译器和工具链**:Erlang的编译器和构建工具可能也得到了...
函数式编程是Erlang的基础,它强调无副作用的纯函数,使得代码易于理解和测试。Erlang支持模式匹配,可以在函数定义中使用模式来匹配和解构数据结构,提高代码的简洁性和可读性。同时,函数式编程的不可变数据特性也...
这个安装程序将部署Erlang运行时系统,包括解释器、编译器和其他必要的组件,使得开发人员可以在Windows平台上编写、编译和运行Erlang代码。 Erlang的特性包括: 1. 并发:Erlang通过轻量级进程实现并发,这些进程...
他的作品《孟岩谈Erlang:并行计算和云计算》详细解读了Erlang在这些领域的应用,涵盖了语言基础、并发模型、分布式系统设计以及实际案例分析,是学习Erlang和理解其在现代计算领域应用的重要参考资料。 综上所述,...
通过这份文档提供的信息,初学者可以了解如何从零开始搭建Erlang的开发环境,以及如何使用Erlang Shell和Emacs来编写、编译和运行Erlang程序。文档中的知识点设计得非常基础,以确保初学者在没有任何预备知识的情况...
- **消息传递**:进程间通信通过发送和接收消息实现,这是Erlang并发模型的基础。 - **模式匹配**:Erlang的函数调用允许模式匹配,使得数据处理更加灵活。 - **函数式编程**:Erlang是一种纯函数式语言,强调不可变...
BEAM是Erlang虚拟机的缩写,它是Erlang程序运行的基础。BEAM虚拟机执行Erlang字节码,提供了垃圾回收、内存管理等功能。在源码中,你可以找到关于字节码解释器、垃圾收集算法的实现。 3. **模块和函数** Erlang...
Erlang的并发特性和OTP框架为RabbitMQ提供了坚实的基础,使其能够处理大量并发连接和高效的消息处理。 4. 安装与编译OTP:在Linux CentOS系统上,首先需要安装必要的依赖,如GCC编译器、GNU Make、Curl等。下载并...
7. **编译和运行**:指导如何编译和运行Erlang程序,以及调试工具的使用。 8. **标准库**:详述Erlang标准库中的各种模块和函数,如列表操作、文件I/O等。 "erlang深度分析.pdf"可能是对Erlang更深入的探讨,可能...
- **Erlang 虚拟机 (Erlang Virtual Machine, VM)**: 类似于 Java 虚拟机 (JVM),Erlang VM 是运行 Erlang 程序的基础环境。在 Windows 或 UNIX 系统上安装 Erlang 后,用户就可以在 Erlang VM 上运行 .beam 文件。 ...
通过解压并编译otp_src_R16B03,开发者可以学习Erlang的实现细节,探索其并发模型和垃圾回收机制,也可以针对特定需求进行定制或扩展。同时,对于想要参与Erlang社区贡献的开发者来说,这是一个很好的起点,可以了解...
学习Erlang可以从基础语法开始,如变量、函数、模块定义,然后逐步掌握进程通信、错误处理、模式匹配和并发编程。随着深入,可以学习OTP的设计原则,了解如何利用Erlang构建分布式系统。提供的“erlang资料”可能...
3. 学习Erlang和RabbitMQ的基本概念。 4. 识别要改进的功能并编写Erlang代码。 5. 测试和调试改进的RabbitMQ服务器。 6. 部署和运行自定义的Erlang服务器。 这个过程既需要深入理解Erlang语言,也要熟悉RabbitMQ的...
学习这个主题,你需要了解Erlang的基础知识,包括过程、模式匹配、消息传递等核心概念。同时,理解DSL的设计原则和元编程技术也是必不可少的。对于`dsl.erl`文件的分析,需要掌握Erlang的语法和模块系统,以便阅读和...