Tag: 纯function

Unweave序列,Kotlinfunction/流式习语

我有一个交错的数据序列(与固定步幅),我想减少它为每个“结构”(n *跨度价值n值)单个值。 我可以使用循环写入到可变列表中,并为读者索引选定步骤,但是我正在寻找更多的function和可读的方法。 有什么想法吗? 例如:输入序列由RGB三元组(步幅3)组成,输出为灰度。 命令的方式是这样的: fun greyscale(stream:List):List{ val out = ArrayList(stream.size / 3) var i = 0; var o = 0 while(i < stream.size) out[o++]=(stream[i++] + stream[i++] + stream[i++])/3 return out } 我怎么能没有明确地实现一个函数和可变容器,而是纯粹的function扩展如.map等?