Hello, > Maybe we call the default RNG instance `random`, and then give the > `random(in:)` methods another name, like `choose(in:)`? > > let diceRoll = random.choose(in: 1...6) > let card = random.choose(in: deck) > let isHeads = random.choose(in: [true, false]) > let probability = random.choose(in: 0.0...1.0) > > let diceRoll = rng.choose(in: 1...6) > let card = rng.choose(in: deck) > let isHeads = rng.choose(in: [true, false]) > let probability = rng.choose(in: 0.0...1.0)
I like this design a lot. After all, `random` is not a property of some type or instance, but we want to generate a new random element within some range/based on some given set. Modeling that as methods of the RNG seems to be much more natural. -- Martin _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution