Does Scala have an equivalent to C# yield?
I'm new to Scala, and from what I understand yield in Scala is not like yield in C#, it is more like select. Does Scala have something similar to C#'s yield? C#'s yield is great because it makes writing iterators very easy. Update: here's a pseudo code example from C# I'd like to be able to implement in Scala: public class Graph<T> { public IEnumerable<T> BreadthFirstIterator() { List<T> currentLevel = new List<T>(); currentLevel.add(_root); while ( currentLevel.count > 0 ) { List<T> nextLevel = new List<T>(); foreach( var node in currentLevel ) { yield return node; nextLevel.addRange( node