List 列表理解语法
我在Erlang中看到了以下代码:List 列表理解语法,list,erlang,list-comprehension,List,Erlang,List Comprehension,我在Erlang中看到了以下代码: [X-$0 || X<-someFun()] [X-$0 | | X该代码所做的是从someFun()获取输出(需要返回列表),对于列表中的每个元素,它将元素的值赋给变量X,然后从该值中减去字符0的ASCII值。结果列表就是整个表达式的值 在实践中(我自己已经写了几十次这段代码),它所做的是假设someFun/0是一个函数,它返回一个只包含数字的字符串,然后将该字符串转换成一个数字列表。所以,若someFun()返回“12345”,此列表理解的结果是[
[X-$0 || X<-someFun()]
[X-$0 | | X该代码所做的是从someFun()
获取输出(需要返回列表),对于列表中的每个元素,它将元素的值赋给变量X
,然后从该值中减去字符0
的ASCII值。结果列表就是整个表达式的值
在实践中(我自己已经写了几十次这段代码),它所做的是假设someFun/0
是一个函数,它返回一个只包含数字的字符串,然后将该字符串转换成一个数字列表。所以,若someFun()
返回“12345
”,此列表理解的结果是[1,2,3,4,5]
如果您熟悉map
函数的概念(如MapReduce),那么现在听起来应该很熟悉了
这个wikibooks页面看起来像是对Erlang列表理解的一个很好的介绍:
Joe Armstrong的书“Programming Erlang”,来自实用书架,()也很好地涵盖了列表理解(以及其他与Erlang相关的内容)。优秀的书,强烈推荐,等等。列表理解的常规文档页面在第6.22节和第3节中
这两个都在上(单击左侧菜单栏上的Erlang Programming文件夹)
Erlang文档太棒了-只是它的布局有点不合理