gpt4 book ai didi

swift - 如何在 IBM Swift Sandbox 中播种 rand()?

转载 作者:可可西里 更新时间:2023-11-01 01:01:53 25 4
gpt4 key购买 nike

我是 StackOverflow 的新手,所以如果有更好的方法来发布一个现有问题的特定案例,请纠正我。

Alberto Barrera 回答了 How does one seed the random number generator in Swift?

let time = UInt32(NSDate().timeIntervalSinceReferenceDate)
srand(time)
print("Random number: \(rand()%10)")

这通常是完美的,但是当我在 The IBM Swift Sandbox 中尝试时它每次运行都给出相同的数字序列,至少在半小时内。

import Foundation
import CoreFoundation

let time = UInt32(NSDate().timeIntervalSinceReferenceDate)
srand(time)
print("Random number: \(rand()%10)")

目前,每次运行都会打印 5。

有没有人找到在 IBM Sandbox 中执行此操作的方法?我发现 random() 和 srandom() 产生不同的数字序列,但同样每次运行都相同。我没有在 Foundation、CoreFoundation、Darwin 或 Glibc 中找到 arc4random()。

顺便说一句,我谦虚地建议声誉超过 1500 的人创建一个标签 IBM-Swift-Sandbox。

最佳答案

这是我们在沙盒中实现服务器端缓存的方式的问题;非确定性代码会不断返回相同的答案,即使它不应该有。我们现在已经禁用它,每次运行你应该会得到不同的结果。我们目前正在研究更好的机制以确保沙盒的可扩展性。

我也会看看那个标签!

关于swift - 如何在 IBM Swift Sandbox 中播种 rand()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34479693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com