`
xumingyong
  • 浏览: 183434 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Erlang学习笔记(一)

阅读更多

1. working folder
    > pwd().

2. 变量首写字母必须[大写]。
3. 原子以[小写]字母开头,它只是一个名字,不是变量。
4. 元组{inch,2},大小固定
5. 列表
    [{moscow, {c, -10}}, {cape_town, {f, 70}}]
    [First|Last]=[1,2,3,4,5]
        First=1
        Last=[2,3,4,5]

L1 = [madrid | T1].


6. 没有字符串,可用字符列表来表示,
    5> [97,98,99].
    "abc"
7. ERLANG 标准模块帮助手册
    $erl -man io
    $erl -man erl

    32> io:format("hello world~n", []).
    hello world
    33> io:format("this outputs one Erlang term: ~w~n", [hello]).
    this outputs one Erlang term: hello
    34> io:format("this outputs two Erlang terms: ~w~w~n", [hello, world]).
    this outputs two Erlang terms: helloworld
    35> io:format("this outputs two Erlang terms: ~w ~w~n", [hello, world]).
    this outputs two Erlang terms: hello world

8. IF 语句
    if
        Condition 1 ->
        Action 1;
        Condition 2 ->
        Action 2;
        Condition 3 ->
        Action 3;
        Condition 4 ->
        Action 4    % 没有;号表示结束
    end.

9. list模块的foreach和map函数
foreach 带入一下列表,并把每一个元素,作用于一个函数 fun 中,map 通过一个函数 fun 来创立出一个新的列表。
    foreach(Fun, [First|Rest]) ->
        Fun(First),
        foreach(Fun, Rest);
    foreach(Fun, []) ->
        ok.
    map(Fun, [First|Rest]) ->
        [Fun(First)|map(Fun,Rest)];
    map(Fun, []) ->
        [].
    ---------------------------
    92> Add_3 = fun(X) -> X + 3 end.
    #Fun<erl_eval.5.123085357>
    93> lists:map(Add_3, [1,2,3]).
    [4,5,6]

10. ** shell internal commands **
b()        -- display all variable bindings
e(N)       -- repeat the expression in query <N>
f()        -- forget all variable bindings
f(X)       -- forget the binding of variable X
h()        -- history
history(N) -- set how many previous commands to keep
results(N) -- set how many previous command results to keep
v(N)       -- use the value of query <N>
rd(R,D)    -- define a record
rf()       -- remove all record information
rf(R)      -- remove record information about R
rl()       -- display all record information
rl(R)      -- display record information about R
rp(Term)   -- display Term using the shell's record information
rr(File)   -- read record information from File (wildcards allowed)
rr(F,R)    -- read selected record information from file(s)
rr(F,R,O)  -- read selected record information with options
** commands in module c **
bt(Pid)    -- stack backtrace for a process
c(File)    -- compile and load code in <File>
cd(Dir)    -- change working directory
flush()    -- flush any messages sent to the shell
help()     -- help info
i()        -- information about the system
ni()       -- information about the networked system
i(X,Y,Z)   -- information about pid <X,Y,Z>
l(Module)  -- load or reload module
lc([File]) -- compile a list of Erlang modules
ls()       -- list files in the current directory
ls(Dir)    -- list files in directory <Dir>
m()        -- which modules are loaded
m(Mod)     -- information about module <Mod>
memory()   -- memory allocation information
memory(T)  -- memory allocation information of type <T>
nc(File)   -- compile and load code in <File> on all nodes
nl(Module) -- load module on all nodes
pid(X,Y,Z) -- convert X,Y,Z to a Pid
pwd()      -- print working directory
q()        -- quit - shorthand for init:stop()
regs()     -- information about registered processes
nregs()    -- information about all registered processes
xm(M)      -- cross reference check a module
y(File)    -- generate a Yecc parser
** commands in module i (interpreter interface) **
ih()       -- print help for the i module

分享到:
评论

相关推荐

    erlang 学习笔记1

    【描述】虽然描述中没有具体的信息,但我们可以假设这是一个博主分享的关于Erlang学习的初步笔记,可能涵盖了基本语法、并发模型以及一些实用工具的使用。 【标签】"源码"和"工具"提示我们,这篇笔记可能包括了...

    erlang学习笔记

    ### Erlang学习笔记:深入解析Erlang编程与系统管理 #### 1. Erlang编程基础与资源 在深入探讨Erlang编程之前,我们首先需要了解一些基础资源和学习资料。Erlang官方网站([www.erlang.org](http://www.erlang.org...

    Scala、Groovy++、Stackless Python、Erlang 学习笔记及分享

    Erlang是一种为构建大规模并发系统而设计的函数式编程语言。它的核心特性包括轻量级进程(processes)、消息传递和故障隔离。Erlang以其容错性和高可用性著称,广泛应用于电信、分布式系统和实时计算领域。 压缩包...

    Redis全套学习笔记 (带章节目录) 完整版pdf

    本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...

    java版商城源码-hello-erlang:Erlang的笔记和例子

    这些是我在学习过程中关于 Erlang 的笔记和主要引用。 检查部分以查看我从哪里获取报价。 请注意,此 repo 始终在进行中。 (我还没找到时间完成这本书。) 话题 陷阱 erlang 没有null值这样的东西 每个函数都需要...

    rabbitmq学习笔记和软件和插件

    **RabbitMQ学习笔记与软件插件详解** RabbitMQ是一种广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议,提供可靠的消息传递服务。在分布式系统中,RabbitMQ扮演着数据交换中心的角色,...

    Redis全套学习笔记(带章节目录)完整版pdf最新版本

    本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...

    rabbitmq学习笔记.zip

    在这个“rabbitmq学习笔记.zip”压缩包中,我们可以期待找到一系列关于RabbitMQ的核心概念、安装教程、使用方法以及常见问题的详细说明。 首先,RabbitMQ的基本概念包括生产者(Producer)、消费者(Consumer)、...

    RabbitMq学习笔记1

    在本篇学习笔记中,我们将首先了解RabbitMQ的安装过程。 1. **Erlang的安装**: Erlang是RabbitMQ的基础,因为RabbitMQ是用Erlang编写的。安装Erlang可以通过以下命令完成: ```bash sudo apt-get install ...

    Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法

    Erlang程序设计的书籍是学习这门语言的重要资源。《Erlang程序设计(第2版)》便是一本面向初学者的经典教材,提供了丰富的基础知识和深入的讨论,对理解和掌握Erlang语言有极大帮助。 对于Erlang的安装,目前有...

    XMPP学习入门笔记

    本篇学习笔记汇总了XMPP的基本概念以及多种编程语言下的客户端库介绍,旨在帮助读者快速了解并上手XMPP技术。XMPP作为一种强大的即时通讯协议,不仅具备高度的可扩展性,还支持多种编程语言。这使得开发者可以根据...

    redis 的学习笔记A

    Redis 是一个高性能的键值存储系统,常被用于构建数据缓存、消息队列以及数据库。作为NoSQL数据库的一种,Redis具有丰富的数据结构支持,包括字符串(strings)、列表(lists)、集合(sets)、有序集合(sorted ...

    RabbitMQ学习 笔记

    ### RabbitMQ 学习笔记知识点总结 #### 一、RabbitMQ 历史与背景 RabbitMQ 是一个基于 AMQP(高级消息队列协议)的开源消息中间件,由 Erlang 语言编写而成。AMQP 的出现填补了异步消息处理领域的标准化空白,特别...

    RabbittMQ软件,资料及笔记

    这个“RabbittMQ软件,资料及笔记”压缩包可能包含了一系列关于RabbitMQ的学习资源,包括文档、教程、笔记等,旨在帮助用户深入理解和熟练掌握这一强大的中间件。 首先,让我们来了解一下RabbitMQ的核心概念和功能...

    狂神说Redis笔记完整版PDF最新版本

    Redis(Remote Dictionary Server ),即远程字典...《狂神说Redis笔记》主要是狂神说发的笔记,通俗易懂,从入门到主从和实践,对Redis有一个很好的学习,通过本教程你可以一步一步了解 Redis 的应用,感兴趣的可以下载

    RabbitMQ学习讲义

    【RabbitMQ学习讲义】 RabbitMQ是一个开源的消息队列系统,它基于高级消息队列协议(AMQP)实现,旨在提供可靠的、跨平台的消息传递。AMQP是一种应用程序层的开放标准,允许不同的系统、语言和应用之间进行无缝的...

    ericssonaxel.github.io:evm.com

    【描述】"帖子" 提示我们这个项目可能包含了一系列的文章或博客帖子,这些帖子可能涵盖了Erlang语言的学习笔记、EVM的内部工作原理、如何使用Erlang进行并发编程、Erlang在分布式系统中的应用,以及与SCSS(Sassy ...

    RabbitMQ自学笔记

    综上所述,通过本篇笔记的学习,读者可以全面掌握RabbitMQ的基本使用方法以及一些高级特性,这对于实际项目中的消息处理需求提供了强有力的支持。无论是简单的消息传输还是复杂的分布式系统架构设计,RabbitMQ都能...

    rabbitmq笔记及面试要点

    RabbitMQ作为一款广泛应用的消息中间件,它的核心价值在于实现消息队列的功能,有效地处理系统中的高并发和异步任务,从而提高系统的稳定性和响应速度。本文将详细探讨RabbitMQ的基本概念、工作机制以及面试中常见的...

    compsci390-plp

    "compsci390-plp" 是一个与计算机科学390课程相关的压缩包,主要涉及编程语言范例的学习。这门课程可能涵盖了多种编程语言的理论、设计和实现,旨在让学生深入理解编程语言的原理及其应用。课程的重点可能包括了如何...

Global site tag (gtag.js) - Google Analytics