use*_*411 5 random ios random-seed swift swift4.2
我喜欢新的 Swift 4.2 RandomNumberGenerator 东西,但我看不到那里有种子的可能性。我是否遗漏了什么,或者有什么办法可以通过调用底层的低级函数来为这些生成器提供种子?我有很多代码,它们在默认数字类型上使用默认数字生成器,现在我需要确保在启动之间一切行为完全相同,而代码更改尽可能少。
如果您希望通过显式播种GameplayKit实现可重复性,您可以使用Mersenne Twister的实现:
import Cocoa
import GameplayKit
let mt = GKMersenneTwisterRandomSource.init(seed: 12345)
for _ in (1...5) {
print(mt.nextUniform())
}
Run Code Online (Sandbox Code Playgroud)