erlang学习(1)

  • erlang shell中,每条语句都是表达式,都会输出值。
  • 变量名首字符须是大写。
  • erlang中变量的值是不能改变的,'='是进行匹配。

    变量的值不能改变,有一个非常大的作用:程序并行化。

    术语:可修改的内存区域称为可变状态。erlang是一个函数式语言,不存在可变状态。

    当多核编程来临的时候,采用不可变状态的好处是不可估量的。像c,java这种传统语言在多核cpu上编写程序时,不得不应付共享内存带来的问题,要想不破坏共享内存,就必须在访问时对其加锁。程序还要宝成在操纵共享内存时不会崩溃。

    而erlang没有可变状态,也就没有共享内存,更没有锁,这一切都有利于并行化程序的编写。

  • 原子:就像c语言中的宏,来用表示不同的非数字常量值,如monday,tuesday.原子是一串以小写字符开头,后跟数字字母或下划线(_)或邮件符号(@)的字符,例如red,december,joe@somehost,a_long.使用单引号引起来的也是原子。(根据自己理解,原子应该属于变量的一种)
  • 注意:'_'下划线为匿名变量,作为占位符,表示我们不关心的变量。
  • 列表:访问列表的头是非常高效的操作,因此,实际上所有的列表处理函数都是从提取列表头开始的,先对头进行处理,然后继续处理列表的尾。
  • 严格地说,erlang中并没有字符串,字符串实际上就是一个整数列表。[88,99].打印出来的是“Xc”。获取某个字符的AscII的方法为$a.
  • f().会让shell释放它所绑定过的所有变量。
  • 我们编写的erlang文件在.erl中,编译后为.beam.

    

posted @ 2011-10-25 10:59  苏先森1989  阅读(311)  评论(0编辑  收藏  举报