这是scala中for / yield的标准格式:请注意,它需要一个集合-其元素驱动迭代。
for (blah <- blahs) yield someThingDependentOnBlah
我有一个无限的迭代次数将在循环中发生的情况。内部循环逻辑确定将执行多少次。
while (condition) { some logic that affects the triggering condition } yield blah
每次迭代都会生成序列的一个元素-就像要编写一个yield一样。推荐的方法是什么?
最佳答案
您可以
Iterator.continually{ some logic; blah }.takeWhile(condition)
得到几乎相同的东西。您需要使用一些可变的(例如var)逻辑来影响条件。否则你可以
Iterator.iterate((blah, whatever)){ case (_,w) => (blah, some logic on w) }.
takeWhile(condition on _._2).
map(_._1)
关于scala - 可以在scala中使用一会儿循环并产生 yield ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26558120/