先看一小段shell:
1> X = 10
10
2> X.
10
3> X*X.
100
4> X=11.
上面是一个简单的变量操作,先将10绑定到X变量上。
如果再将另外一个值赋给‘X’时:
5> X=12.
** exception error: no match of right hand side value 12
会出现这样情况。说明下:
- X不是一个变量,至少不是你在java和C中用到的那种变量
- 其次‘=’不是一个赋值操作。
在大多数语言中‘=’都是赋值操作,在erlang中,则表示为模式匹配操作。Lhs = Rhs实际上是这样一个过程,对右边的表达式求值,然后将结果与左边的变量进行模式匹配。
erlang里面的变量仅是对值的一个引用。就具体实现而言,一个绑定变量就是一个指针,这个指针指向存放那个值的存储区,而那个值是无法改变的。
而erlang没有可变状态,也就没有共享内存,更没有锁,这一切都有利于并行化程序的编写。
分享到:
相关推荐
programming erlang 源码
Programming Erlang
Programming+Erlang.pdf+ 面对软件错误构建可靠的分布式系统.pdf+ Concurrent Programming in ERLANG
In this second edition of the bestselling Programming Erlang, you'll learn how to write parallel programs that scale effortlessly on multicore systems. Using Erlang, you'll be surprised at how easy ...
Programming Erlang 官方文档
Joe Armsrong经典2013首发,Programming Erlang second edition
Joe的那篇erlang论文 Programming Erlang + 源码包 Erlang Programming Concurrent Programming in Erlang efficiecy guide 资源齐全.希望能帮到你.
Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book.
Concurrency is natural in ...The model of programming that Erlang uses is very similar to how the world works. This makes programming easy. Many programmers have discovered this, as have many companies.
Concurrent Programming in ERLANG
Erlang Programming 导Erlang Programming 导读.pdf读.pdfErlang Programming 导读.pdf
Pragmatic.Programming.Erlang.2nd.Edition
Pragmatic Programmer,Pragmatic Programming,Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers,LLC. Every precaution was taken in the preparation of this book....
erlang学习资料
erlang学习3erlang学习3erlangerlang学erlang学习3习3学习3