On Friday, 12 February 2016 at 20:43:24 UTC, Taylor Hillegeist wrote:
So I have this code and I have to add the element
.each!(a => a.each!("a"));
to the end in order for it to evaluate the range completely and act like I expect it too. Is there a better thing to put in the place of
.each!(a => a.each!("a"));?

[...]

    dirEntries(Args[1], SpanMode.depth)
        .filter!(f => f.name.endsWith(".c",".h"))
        .tee!(a => writeln("\n",a,"\n\t","=".repeat(80).join))
        .map!(a => a
            .File("r")
            .byLine
            .enumerate
            .filter!( l => l.value.byGrapheme.walkLength > 80)
            .tee!(a => writeln("Line: ",a.index,"\t",a.value))
).each!(a => a.each!("a")); //Force evaluation of every item

}

Have you tried .array? I *think* it's the commonly used way to flatten a lazy range.

Reply via email to