You don't need stride for this.

    func foo() {
        (0..<5_000).forEach { _ in
            print("asdf")
        }
    }


On 18 Dec 2015, at 19:25, Cihat Gündüz via swift-evolution 
<swift-evolution@swift.org<mailto:swift-evolution@swift.org>> wrote:

Dear Swift-Community,

I’d like to propose an addition of a useful method, especially for beginners 
that also makes Swift much more readable in some situations: The addition of a 
.times method to Integer type(s).

For example recently in one of my projects I wanted to test the scalability of 
an important piece of code and wrote this method:

    func testPerfQualityInPercentWithoutQualityImprovements() {
        self.measureBlock {
            let expectedQuality = 33.33
            0.stride(to: 5_000, by: 1).forEach { _ in
                XCTAssertEqualWithAccuracy(self.crossword.qualityInPercent, 
expectedQuality, accuracy: 0.1)
            }
        }
    }

As you can see what I basically wanted was to repeat the test some thousand 
times. I also like to use the Ruby language and one thing I love about it is 
that it has some really handy methods integrated to the language in situations 
like this which make the code very readable and therefore fun to use.

I’m an even bigger fan of Swift so I’d love to see such useful methods appear 
in Swift, too and this is the first I came across that I really missed. So I’m 
asking myself, what if I could write the same code above like this:

    func testPerfQualityInPercentWithoutQualityImprovements() {
        self.measureBlock {
            let expectedQuality = 33.33
            5_000.times {
                XCTAssertEqualWithAccuracy(self.crossword.qualityInPercent, 
expectedQuality, accuracy: 0.1)
            }
        }
    }

I think it could be added to the Swift standard library very easily (for 
example by using the .stride method like I used) without any side effects and 
has enough advantages to be part of Swift itself. What do you think?

I wish you all the best,
Cihat


P.S.: This is my very first mail in such a mailing list so I did everything 
correctly. ^.^


_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org<mailto: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

Reply via email to