swift-wisdom icon indicating copy to clipboard operation
swift-wisdom copied to clipboard

Evaluate API for `random(inRange:)`

Open andrewdolce opened this issue 9 years ago • 1 comments

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:

  1. Start a discussion about whether we like this idea.
  2. 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).

andrewdolce avatar Nov 17 '16 16:11 andrewdolce

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!

brightredchilli avatar Nov 17 '16 16:11 brightredchilli