Я положил rand() в Xcode Playground, и он печатает тот же номер 16807, даже я бегу много раз, а значение не менялось -> «16807»! это ошибка?Swift rand не генерирует случайные числа
print(rand())
Я положил rand() в Xcode Playground, и он печатает тот же номер 16807, даже я бегу много раз, а значение не менялось -> «16807»! это ошибка?Swift rand не генерирует случайные числа
print(rand())
Мохамед Диаа,
Вы можете использовать библиотеки функций, таких как arc4random()
или arc4random_uniform()
для генерации случайных чисел.
let random = Int(arc4random_uniform(3))
Чтобы получить случайное значение от 0 до 3
вы, возможно, придется импортировать Дарвина, чтобы использовать его.
Вы не должны использовать операции 'mod' с RNG. Это приводит к смещению моды. 'arc4random' имеет параметризованную версию именно для этого, поэтому вы всегда должны использовать' arc4random_uniform (3) 'для генерации числа от 0 до 3. – Fogmeister
@fogmeister: я не знал об этом :) Спасибо, я сохраню в виду :) Я обновлю свой ответ :) –
Просмотрите следующую ссылку: http://iswift.org/cookbook/generate-a-random-number –