[swift-evolution] Proposal: Add .times method to Integer type

Andrew Hoos andrewjhoos at gmail.com
Sat Dec 19 19:22:12 CST 2015


Summary of feedback

Cons
Block based API prevents return/break/continue
Can be implemented by an extension without language changes
Vaguely confusable with multiplication

Pros
Is easier for new learners
Removes ambiguity of ..< vs ... (again mostly new learners)
shorter than existing syntax

Alternatives
for _ in 0..< 5_000 (current solution)
repeat 5_000 (alternative syntax)
for 5_000

My $.02

If we are going to introduce a new "something" it should either provide a feature that is currently impossible or it should provide a significantly better way to do something that can already be done. With that as my metric I find 5_000.times to be moderately better at best and does not meet my standard for inclusion.

Andrew Hoos


> On Dec 19, 2015, at 16:35, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> I do have an honest question that comes from ignorance rather than malice: has anyone actually used .times in ruby outside of the context of learning or testing?
> 
> I've seen it used to retry a failing operation a certain number of times:
> 
> 	5.times do
> 		return true if do_network_call
> 		sleep 5
> 	end
> 	raise NetworkCallFailedError
> 
> Of course, that requires you to be able to return out of the surrounding function from the `times` loop, which you can do in Ruby but not in Swift.
> 
> -- 
> Brent Royal-Gordon
> Architechies
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list