Что означает сообщение «не соответствуют никаким доступным перегрузкам»? - PullRequest
0 голосов
/ 01 ноября 2019

На игровой площадке я пытаюсь сгенерировать случайные числа для нормального распределения, используя следующий код:

import UIKit
import GameplayKit

var mu: Double = 0
var random: Double = 0

for i in 1...1000 {
    let random = GKRandomSource()
    mu = GKGaussianDistribution(randomSource: random, mean: Float(0.0), distribution: Float(1.0))
    print(mu)
}

Это не скомпилируется, я получаю следующее сообщение об ошибке: "Аргумент метки" (randomSource :, mean :, distribution :) 'не соответствует ни одной доступной перегрузке "

Что это значит и как я могу исправить код?

1 Ответ

2 голосов
/ 01 ноября 2019

Есть несколько проблем с вашим кодом, параметр называется deviation, а не distribution, и сам объект Distribution не возвращает случайное число.

Попробуйте вместо этого:

import GameplayKit
let random = GKRandomSource()
let dist = GKGaussianDistribution(randomSource: random, mean: 0, deviation: 1.0)

for _ in 1...1000 {
    let mu = dist.nextUniform()
    print(mu)
}
...