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

你可能感兴趣的:(C++,c,erlang,REST,F#)