Erlang

Erlang快速入门(三)- Erlang依赖包管理

Erlang快速入门系列,来到第三天,刚开始接触的东西,已经在 Erlang快速入门(一) — 基础语法和 Erlang快速入门(二) — 常见错误 已经见过一些,更多有用的资源 awsome-erlang 集合在 github 上了。 比如使用 Go 时,很容易是使用 go mod 进行依赖包的管理。使用 Rust 时,cargo 又是一个非常好用的包管理工具。到了 Erlang 这里,朋友推荐看一下 rebar3 。rebar3 可以集成 hex 上的比较齐全的外部依赖包。 Mac 安装就很简单,直接 brew install rebar3 但是 hex 的 CDN  国内的伙伴最好设置一下 HEX_CDN=https://hexpm.upyun.com 可以加到  ~/.zshrc 里。   export HEX_CDN=https://hexpm.upyun.com

Erlang快速入门(二)

Erlang快速入门开始编码之后,慢慢就会接触到编译错误的情况了。 编译时关键字冲突之类,变量名和默认函数重名等   比如 “init terminating in do_boot” 什么的,像这种编译错误,可以先查看一下是不是有关变量和 Erlang 关键字冲突了。 after and andalso band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse receive rem try when xor 有一次我使用 abs 求绝对值函数的时候,就错误的把一个变量设置为 Abs 结果就报错了。 Erlang 输出类型错误   而且可能你类型写不对,他也报错。比如 % 这样写   Fnum = float(4), fwrite(“Fnum is …

Erlang快速入门(二) Read More »

Erlang快速入门(一)

Erlang快速入门,首要是动手敲起来。 一言不合反手上来就是一个 Hello World 。 % hello world program -module(hello). -export([sayhi/0]). sayhi() -> io:fwrite(“hi,hello world!\n”).   erlc 命令行编译 hello.erl 文件 得到 hello.beam ➜  erlc hello.erl 命令行里运行起来, ➜ erl -noshell -s hello sayhi -s init stop hi,hello world! 简要的说明: % 是注释 – 是模块或者导入导出的连接符 分界符是点  . module 是定义模块名,用于区分命名空间。(需要用和去掉文件名一致的名称,比如hello.erl 就用module(hello),否则就报错) 反斜杠 /0 表示 sayHi 没有一个参数 erlang shell Erlang快速入门语法 …

Erlang快速入门(一) Read More »