`
argan
  • 浏览: 129543 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
好戏开始了Erlang 的程序由很多process组成,这些process和人很象:• 都有自己的一份memory,并且不会互相影响• 如果要影响别人的memory,都必须明确告诉对方,比如发个消息(说句话)啥的• 当然,说了别人不一定听,还得确认一下,哥们,明白了么?• 这些process如果挂了,会在最后吼出来:考,老子被零除!啊!• 这样,其他的process就会知道,哦,谁谁谁挂了。• 还有,process间还可以达成某总协议,比如说,一方挂了,另一方帮忙处理后事,之类的。• 归纳一下就是:• 1. Erlang程序是由很多进程组成,这些进程之间可以互相发消息。(这个进程和传统意义上操作 ...
如何退出erlang 的shell• ^G + d • ^C + a• erlang:halt(). 暴力退出,很快,但是如果打开了一个很大的数据库的话,下次启动可能要作recover• q(). 或者init:stop(). 将关闭所有打开的文件,停止数据库,按次序停止所有的OTP程序修改开发 ...
Day 4 Advanced Sequential Programming• BIF Build-In Functions,是在虚拟机里实现的,用erlang很难实现的功能,例如tuple_to_list,time等• Binaries 中的整数只能在0-255• term_to_binary,binary_to_term,list_to_binary• 位操作• M = <<X:3, Y:7, Z:6>><3 y:7 z:6=""><br>• X占三个bit,Y7个,Z6个<br><br>&lt ...
Erlang Day 3 异常处理• 三种方式可以抛出异常• exit(Why). 将广播一条消息{EXIT,Pid,Why}给所有链接到当前进程的进程• throw(Why). 抛出一个异常,一般文档里需要描述,由调用者去决定catch或者忽略• erlang:erro(Why). 一般是内部错误try FuncOrExpressionSequence of    Pattern1 [when Guard1] -> Expressions1;    Pattern2 [when Guard2] -> Expressions2;    ...catch    ExceptionTyp ...
Erlang Sequential ProgrammingModules• 存放在.erl的文件里,需要先编译才能运行• 代码的基本单元,所有的函数都存在module里•    Bogdan’s Erlang Abstract Machine• 在erlang shell 中,使用c(module_name).来编译和装载一个module• 看代码-module (geometry).-export ([area/1]).area({rectangle,Width,Height}) -> Width * Height;area({circle,Radius}) -> 3.14159 ...
Erlang Day 1 基础• 容错,在多核CPU上性能好,因为share nothing,因此并发特别好,concurrency oriented programming• erlang 支持任意长度的整数计算,不会溢出• module 和 function名字都必须是小写• 变量必须以大写字母开头• 变量实际上是不变的(常量),就和代数(Algebra)一样• 变量的声明周期是在声明的那个代码单元(Unit)内,没有所谓的全局或者私有• Erlang 中只有public和private的函数,public的函数是指export出去的,其他的是private的• 没有protected之类的 ...
汶川地震,震中离我们家的直线距离大概280公里,感觉很明显,还好家里没事,学校都停课了,学生都回家了 救援队加油!
Global site tag (gtag.js) - Google Analytics