Swift 如何返回随机多整数
我在swift有一个测验项目。一切都很好,但我想通过使用一个函数来提高效率,而不是单独使用每个项目 谢谢你的帮助 在操场上,我试着使用:Swift 如何返回随机多整数,swift,Swift,我在swift有一个测验项目。一切都很好,但我想通过使用一个函数来提高效率,而不是单独使用每个项目 谢谢你的帮助 在操场上,我试着使用: func random( a:Int, b:Int, c:Int) -> (Int, Int, Int) return Int(arc4random_uniform(UInt32(a, b, c))) 我的错误是: 无法使用类型为“(Int,Int,Int)”的参数列表调用类型为“UInt32”的初始值设定项 您有一个具有此签名的函数:(Int
func random( a:Int, b:Int, c:Int) -> (Int, Int, Int)
return Int(arc4random_uniform(UInt32(a, b, c)))
我的错误是:
无法使用类型为“(Int,Int,Int)”的参数列表调用类型为“UInt32”的初始值设定项
您有一个具有此签名的函数:
(Int,Int,Int)->Int
。
函数
arc4random\u uniform
必须应用于UInt32,而不是Int。
如果你把a,b,c都转换过来就好了 你有几个问题
arc4random\u uniform()
arc4random_uniform()
获取一个UInt32
并尝试将三个Int
s传递给UInt32
初始值设定项(它是一个不存在的初始值设定项)的结果Int.random(in:)
而不是arc4random\u uniform()
:
替代实施 通过获取可变数量的最大输入并返回数组,您可以灵活处理所需的任意数量的随机数:
func random(maxVals: Int...) -> [Int] {
return maxVals.map { .random(in: 0..<$0) }
}
你想干什么?生成三个不同的随机值并返回它们?func random(n:Int)->Int{return Int(arc4random_uniform(UInt32(n))}print(random(9))的
a
、b
和c
是什么?func random(n:Int)->Int{return Int(arc4random_uniform(UInt32(n))}print(random(9)),而我想使用3个变量arc4random_uniform。请考虑接受这个答案。
for _ in 1...20 {
print(random(a: 2, b: 6, c: 100))
}
(0, 3, 5)
(0, 1, 32)
(0, 1, 90)
(0, 3, 17)
(1, 0, 34)
(0, 1, 78)
(1, 0, 71)
(0, 1, 85)
(1, 0, 27)
(1, 0, 26)
(0, 0, 93)
(0, 1, 46)
(1, 4, 47)
(1, 1, 12)
(0, 2, 21)
(1, 3, 72)
(0, 2, 62)
(0, 5, 50)
(1, 2, 23)
(1, 4, 21)
func random(maxVals: Int...) -> [Int] {
return maxVals.map { .random(in: 0..<$0) }
}
print(random(maxVals: 2, 6, 100))
[1, 4, 57]
print(random(maxVals: 2, 6))
[0, 5]