zoukankan      html  css  js  c++  java
  • Erlang语言学习入门

    这是一个命令行程序,可以直接在里面输入表达式进行计算,例如来一个简单的:

    复制代码
    Erlang R15B01 (erts-5.9.1) [smp:4:4] [async-threads:0]

    Eshell V5.9.1  (abort with ^G)
    1> 100+300.
    400
    2> 
    复制代码

    注意在语句的结尾输入“.”以表示完成,回车就开始计算结果了,如上面所示。

    下面,我们用记事本写一个阶乘的Erlang程序:

    -module(test).
    -export([fac/1]).

    fac(0) -> 1;
    fac(N) -> N * fac(N-1). 

    这个程序定义了一个叫做 “test”的模块,里面包含一个名字叫做fac的函数,该函数有1个参数。

    按照Erlang的约定,文件名必须跟模块名称一致,于是我们将这个文件保存为 “test.erl”,文件保存在D: est1目录下。

    问题来了,怎么运行这个文件呢?使用 cd 方法,改变Erlang当前的工作路径:

    2> cd("d:/test1").
    d:/test1
    ok
    3> 

    然后编译刚才的程序文件:

    ok
    3> c(test).
    {ok,test}
    4> 

    注意,编译命令c 的参数写 明文件里面定义的模块名称即可,也不用加双引号。编译后,将在当前工作目录下面生成文件“test.beam”

    然后,可以执行模块中的方法了:

    4> fac(10).
    ** exception error: undefined shell command fac/1
    5> test:fac(10).
    3628800
    6> 

    注意,这里是使用自定义的“外部模块”,所以执行的时候需要写明 模块名称:方法名称(参数)。

    如果下次需要重新加载编译好的程序怎么办?

    很简单,使用 l(模块名称) 即可,如下例:

    6> l(test).
    {module,test}
    7> test:fac(4).
    24
    8> 

    到此为止,安装、编写、编译、运行、加载 一个Erlang 语言程序的全过程就完成了,入门过程还是很简单吧?

    Erlang 学习参考:

    Erlang Programming拾零

    用Erlang实现领域特定语言

    另外安装后,它本身的帮助文档也比较全面,初学已经完全够用了。

  • 相关阅读:
    HDOJ/HDU 2560 Buildings(嗯~水题)
    HDOJ/HDU 2555 人人都能参加第30届校田径运动会了(判断加排序~)
    POJ1703Find them, Catch them
    BZOJ2303: [Apio2011]方格染色
    BZOJ2809: [Apio2012]dispatching
    POJ1611The Suspects
    BZOJ2006: [NOI2010]超级钢琴
    BZOJ2288: 【POJ Challenge】生日礼物
    BZOJ1150: [CTSC2007]数据备份Backup
    洛谷P1316 P1824
  • 原文地址:https://www.cnblogs.com/chenliyang/p/6549079.html
Copyright © 2011-2022 走看看