erlang中的++ --操作貌似版本运算有问题?

amagxxxxxx 发布于 2014/04/23 18:37
阅读 1K+
收藏 0
为什么在win7 shell中输入  [4]--[4]++[2].的结果是[]呢, (版本5.10.4), 想不明白啊, 哪位大侠指点迷津呢, 先谢了~
加载中
0
aiasfina
aiasfina


计算从右到左...

[4]--[4]++[2]. % []
([4]--[4])++[2]. % [2]
%%%%%%%%%% 下面否定优先级情况,所以应该是右到左 %%%%%%%%%%
[3]++[5]--[4]++[3]. % [3, 5]
([3]++[5])--[4]++[3]. % [5]


0
amagxxxxxx
amagxxxxxx

按照erlang的语法说明,计算从右到左,比如 [1]++[5]--[1].的结果是[1,5]。

但为啥[4]--[4]++[2]. 的实际运行结果是[]而不是[2]呢?

0
amagxxxxxx
amagxxxxxx

仔细想想明白了。这个好像和一般的语言的理解有点不一样。

0
工号1024
工号1024
看看这个对++和减减的解释就一下子明白 了 http://blog.i5a6.com/1350.html
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部