如何使用Swift生成范围(10 … 20)中的随机数
发布时间:2020-12-14 04:47:57 所属栏目:百科 来源:网络整理
导读:参见英文答案 How does one generate a random number in Apple’s Swift language?????????????????????????????????????25个 我可以在我的游戏中为我的项目选择一个随机数,但是 是否有可能在2个数字之间选择一个随机数? 而不是 let number = (arc4random_
参见英文答案 >
How does one generate a random number in Apple’s Swift language?????????????????????????????????????25个
我可以在我的游戏中为我的项目选择一个随机数,但是 是否有可能在2个数字之间选择一个随机数? 而不是 let number = (arc4random_uniform(100)) 我想要这样的东西: let number = (arc4random_uniform(10...20)) 或类似的东西? 解决方法
Xcode 10?Swift 4.2
extension Range where Bound == Int { var random: Int { return Int.random(in: self) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } extension ClosedRange where Bound == Int { var random: Int { return Int.random(in: self) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } Xcode 9?Swift 4 extension Range where Bound == Int { var random: Int { return lowerBound + numericCast(arc4random_uniform(numericCast(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } extension ClosedRange where Bound == Int { var random: Int { return lowerBound + numericCast(arc4random_uniform(numericCast(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } Xcode 8.3.2?Swift 3.1 extension Range where Bound: Strideable,Bound == Int { var random: Int { return lowerBound + Int(arc4random_uniform(UInt32(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } extension ClosedRange where Bound: Strideable,Bound == Int { var random: Int { return lowerBound + Int(arc4random_uniform(UInt32(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } 用法: (10...20).random // 16 (0...1).random(10) // [0,1,0] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |