我看到这个代码在二郎:二郎,列表中理解语法
[X-$0 || X<-someFun()]
在该行我发现-$0
语法非常有用的。
我阅读了代码,并估计它的含义,但我不太确定:它是否分割所有数字?
我想看看该语法的解释或手册页,但我找不到它。任何人都可以给我看正确的页面吗?
我看到这个代码在二郎:二郎,列表中理解语法
[X-$0 || X<-someFun()]
在该行我发现-$0
语法非常有用的。
我阅读了代码,并估计它的含义,但我不太确定:它是否分割所有数字?
我想看看该语法的解释或手册页,但我找不到它。任何人都可以给我看正确的页面吗?
什么代码正在做的是采取从someFun()
输出(这需要返回一个列表),并在列表中的每个元素被分配元素的值的变量X
,然后减去字符的ASCII值0
从该值。结果列表就是整个表达式的值。
它在做什么,在实践中(我自己写了几十次这样的代码),假设someFun/0
是一个函数,它返回一个只包含数字的字符串,然后将该字符串转换为数字。因此,如果someFun()
返回“12345
”,则此列表理解的结果为[1, 2, 3, 4, 5]
。
如果您熟悉map
函数的概念(如MapReduce),那么到目前为止听起来应该听起来很熟悉。
此维基页面看起来像一个很好的介绍,二郎列表理解:
http://en.wikibooks.org/wiki/Erlang_Programming/List_Comprehensions
乔·阿姆斯特朗的书“编程二郎”,从语用书架,(http://pragprog.com/titles/jaerlang/programming-erlang)还包括列表解析非常好(沿与其他一切Erlang相关)。优秀的书,强烈推荐等
的列表内涵正常文档页面中Erlang Reference Manual第6.22和Programming Examples第3节
这两者都是对main documentation page(点击Erlang编程文件夹上左边的菜单栏)。
Erlang的文档工厂 - 这只是它的布局是shonky一点点......
死链接,雅可能要更新此。 – EvilTeach 2011-09-28 01:36:27