下面是scala中for/yield的标准格式:请注意它需要一个集合 - 其元素驱动迭代.
for (blah <- blahs) yield someThingDependentOnBlah
Run Code Online (Sandbox Code Playgroud)
我有一种情况,循环中会发生不确定的迭代次数.内循环逻辑确定将执行的数量.
while (condition) { some logic that affects the triggering condition } yield blah
Run Code Online (Sandbox Code Playgroud)
每次迭代都会生成一个序列的一个元素 - 就像编程产量一样.建议的方法是什么?
Rex*_*err 21
您可以
Iterator.continually{ some logic; blah }.takeWhile(condition)
Run Code Online (Sandbox Code Playgroud)
得到几乎相同的东西.你需要使用一些可变的东西(例如var)来影响条件.否则你可以
Iterator.iterate((blah, whatever)){ case (_,w) => (blah, some logic on w) }.
takeWhile(condition on _._2).
map(_._1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6769 次 |
| 最近记录: |