swift-wisdom
swift-wisdom copied to clipboard
Evaluate API for `random(inRange:)`
From a TODO in UnsignedInteger+Extensions: There is a public function random that takes in a CountableClosedRange of integers and returns a random int from within the range. The TODO comment suggests that this function could live as a member function on CountableClosedRange. So it would look something like:
(0..<10).ip_random()
I think to address this issue we need to:
- Start a discussion about whether we like this idea.
- Try switching the code to use the new API, with updated test coverage.
Not necessarily in that order. I think taking a stab at (2) could help inform (1).
I say we go ahead and do it.
This interface ip_random(0..<10) seems very C-style and not swift-3 like.
Take:
dispatch_async(dispatch_get_main_queue(), ...)
vs
DispatchQueue.main.async( ... )
or any one of the map/reduce operators that have now gone on to be implemented in the collection extensions as opposed to being implemented as global functions. Happy to stand corrected on this though!