This is not a sound argument. If your filtering can be expressed as a where clause, then you would only have to read one line into the loop to see it in the form of a guard clause.
Moreover, if what you're arguing is that you shouldn't ever have to *read* inside the loop to know if a sequence is filtered, how do you propose that we do that? Remove the continue keyword? On Mon, Jun 13, 2016 at 6:16 AM Jean-Daniel Dupas via swift-evolution < swift-evolution@swift.org> wrote: > -1 for the removal. > > When I read code, I find it far more visible that a loop is over a filter > list when the filter clause is on the same line, than when the filter > clause is inside the loop. > > Having to read the full content of the loop to determine if the list is > filtered or not is not an improvement IMHO. > > Moreover, I find it far cleaner to use the where clause that having to > remember than I have to use the lazy accessor to avoid a performance hit. > > Le 13 juin 2016 à 06:39, Charlie Monroe via swift-evolution < > swift-evolution@swift.org> a écrit : > > And to follow-up to myself once again, I went to my "Cool 3rd Party Swift > Repos" folder and did the same search. Among the 15 repos in that folder, a > joint search returned about 650 hits on for-in (again with some false > positives) and not a single for-in-while use. > > -- E > > > Not to undermine this fact, but I believe the fact that `where` can be > used in a for loop is not widely known. I didn't know about it until about > a month ago (haven't really read much docs, but most people don't either). > > But after I found out about it, I started using it and it IMHO improved > readability of my code. Not by much, but it's the little things that make > you smile, right? > > Many people here argument that `where` is a Swift speciality and needs to > be learned by the developer - the alternative is to teach the person what's > the proper alternative - that using .filter can have performance impact and > that the *correct* way is to use guard within the for loop. And that's IMHO > much worse than teaching a person about using `where` within a for loop. > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution > > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution > > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution