IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]erlang手记(2)

    u010255642发表于 2015-05-08 17:30:32
    love 0
    1> c(server_1).
    {ok,server_1}
    2>
    2> Myserver=server_1:start(".").
    <0.40.0>
    3>
    3> client_1:get_file(Myserver,"test").
    {ok,<<"afdsaf\nadfasdfsad\n124234\nierweriwer\n">>}
    4> client_1:list_dir(Myserver,"/").
    {ok,["sys","selinux","tmp",".autofsck","root","opt","sbin",
    "media",".pulse","var","dev","srv","home","bin","misc",
    "mnt",".dbus","lib","etc","lost+found","proc","net",
    ".pulse-cookie","usr","boot"]}
    5> c(client_1).
    {ok,client_1}
    6> client_1:list_dir(Myserver,"/usr").
    {ok,["tmp","sbin","src","local","share","bin","libexec",
    "lib","etc","games","java","include"]}
    7>
    7> client_1:ls(Myserver).
    {ok,["client_1.beam","server_1.beam","1","server_1.erl",
    "client_1.erl","erl_crash.dump","test",".1_server.erl.swp"]}
    8> halt().




    server_1.erl

    [deep@deep erlangstudy]$ cat server_1.erl
    -module(server_1).
    -export([start/1,loop/1]).
    start(Dir)->spawn(server_1,loop,[Dir]).
    loop(Dir)->
    receive
    {Client,list_dir}->
    Client!{self(),file:list_dir(Dir)};
    {Client,{list_dir,Mydir}}->
    Client!{self(),file:list_dir(Mydir)};
    {Client,{get_file,File}}->
    Fullname=filename:join(Dir,File),
    Client!{self(),file:read_file(Fullname)}
    end,
    loop(Dir).

    本博客所有内容是原创,如果转载请注明来源

    http://blog.csdn.net/myhaspl/



    client_1.erl

    [deep@deep erlangstudy]$ cat client_1.erl
    -module(client_1).
    -export([ls/1,get_file/2,list_dir/2]).
    ls(Server)->
    Server!{self(),list_dir},
    receive
    {Server,Filelist}->
    Filelist
    end.
    get_file(Server,File)->
    Server!{self(),{get_file,File}},
    receive
    {Server,Content}->
    Content
    end.
    list_dir(Server,Dir)->
    Server!{self(),{list_dir,Dir}},
    receive
    {Server,Mydir}->
    Mydir
    end.

    匹配

    Student={student,{1,{name,zhangsang},{age,28}},{2,{name,wangwu},{age,29}}}.

    4> {student,{_,{_,Name1},{_,Age1}},{_,{_,Name2},{_,Age2}}}=Student.
    {student,{1,{name,zhangsang},{age,28}},
    {2,{name,wangwu},{age,29}}}


    5> Name1.
    zhangsang
    6> Age1.
    28
    7> Name2.
    wangwu
    8> Age2.
    29



    14> Stdx={student,[{1,{name,zhangsang},{age,28}},{2,{name,wangwu},{age,29}}]}.
    {student,[{1,{name,zhangsang},{age,28}},
    {2,{name,wangwu},{age,29}}]}
    15> {student,Stdinfo}=Stdx.
    {student,[{1,{name,zhangsang},{age,28}},
    {2,{name,wangwu},{age,29}}]}
    16> Stdinfo.
    [{1,{name,zhangsang},{age,28}},{2,{name,wangwu},{age,29}}]
    17> [Mystd1|_]=Stdinfo.
    [{1,{name,zhangsang},{age,28}},{2,{name,wangwu},{age,29}}]
    18> Mystd1
    18> .
    {1,{name,zhangsang},{age,28}}
    19> {No,{name,Names1},{age,Ages1}}.
    * 1: variable 'No' is unbound
    20> {No,{name,Names1},{age,Ages1}}=Mystd1.
    {1,{name,zhangsang},{age,28}}
    21> Names1
    21> .
    zhangsang
    22> Ages1.
    28






沪ICP备19023445号-2号
友情链接