当(-1)^ k为1并且其随机生成-1 - > k时,我想要发生一些事情.
我试过这个,但它不起作用
let test:Int32 = -1
let leftOrRight:CGFloat = pow(CGFloat(test),random(min:0,max:1))
func random(min : CGFloat, max : CGFloat) -> CGFloat{
return random() * (max - min) + min
}
Run Code Online (Sandbox Code Playgroud)
leftOrRight总是NaN.
您试图生成或具有相同概率的CGFloat值.您可以通过生成值或(使用)并在分配值之前测试它来执行此操作:-1.01.001arc4random_uniform(2)CGFloat
let leftOrRight: CGFloat = arc4random_uniform(2) == 0 ? 1 : -1
Run Code Online (Sandbox Code Playgroud)
在Swift 4.2(Xcode 10)中,您可以使用Bool.random()它来简化它:
let leftOrRight: CGFloat = Bool.random() ? 1 : -1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |