参见英文答案 >
How does one generate a random number in Apple’s Swift language? 25个
TL:博士;如何生成随机数,因为书中的方法每次都会选择相同的数字.
TL:博士;如何生成随机数,因为书中的方法每次都会选择相同的数字.
根据Apple发布的书,这似乎是Swift生成随机数的方式.
protocol RandomNumberGenerator { func random() -> Double } class LinearCongruentialGenerator: RandomNumberGenerator { var lastRandom = 42.0 let m = 139968.0 let a = 3877.0 let c = 29573.0 func random() -> Double { lastRandom = ((lastRandom * a + c) % m) return lastRandom / m } } let generator = LinearCongruentialGenerator() for _ in 1..10 { // Generate "random" number from 1-10 println(Int(generator.random() * 10)+1) }
4 8 7 8 6 2 6 4 1
无论我运行多少次,每次输出都是相同的.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。