Scala学习笔记之序列解析(Sequence Comprehensions)
序列解析又称for推导式,表达式如下:
for (enumerators) yield e
,即由关键字for开头,后接圆括号或者花括号,中间是计数器,后接关键字yield,再后接表达式e,最终返回表达式计算结果组成的序列。
先解释计数器,在Scala中就是循环条件和过滤条件,所有支持map
、filterWith
、flatMap
操作的数据类型都可以用在这里。
再说yield后面的表达式,是对前面计数器生成的每个绑定值进行的计算,最终将每个计算结果组成序列返回。
先举个简单例子:
for (i <- List.range(0, 20) if i % 2 == 0) yield i
按照之前的解释,先看计数器,i <