[swift-users] Incorrect Fisher-Yates shuffle in example code
nevin.brackettrozinsky at gmail.com
Sat Dec 16 20:19:54 CST 2017
On Sat, Dec 16, 2017 at 7:37 PM, Daniel Dunbar <daniel_dunbar at apple.com>
> Would you like to post a PR to fix these issues?
> - Daniel
All right, I’ve submitted a PR that I think should work, though I’m not too
confident in the pre-Swift-4 parts (credit to swiftdoc.org if the code for
old versions is valid).
On Sat, Dec 16, 2017 at 8:03 PM, Saagar Jha <saagar at saagarjha.com> wrote:
> Both of the original guard statements would be superfluous here (notably,
> “swapAt” is documented to have no effect when i and j are the same) so I
> removed them.
> Actually, I believe the first guard is still necessary–if the collection
> is empty, you’d end up with trying to construct the range 0..<-1, which
> traps. Alternatively, stride(from:to) is more lenient.
Right you are, not sure how I missed that. Muphry’s law
<https://en.wikipedia.org/wiki/Muphry%27s_law> strikes again!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-users