Есть ли в kotlin-stdlib-common источник случайности из коробки? Будь то какая-то реализация стандартных java.util.Random
, kotlin.math.random*
или базовых миллисекунд текущего времени, которые я могу использовать для создания собственного генератора случайных чисел? Я ничего не могу найти.
Если его нет, как бы вы могли получить источник случайности, не задавая собственных зависимых от платформы реализаций? Это единственный способ, который мне нужен:
expect class Rng {
fun nextInt(): Int
}
Я пытаюсь сделать его независимым от платформы.
Возможно, это сообщение со множеством ссылок, которое может вызвать проблему Ваш ответ находится в другом замке: когда ответ не является ответом?, поэтому я изо всех сил стараюсь написать описание ссылки. И мое понимание Котлин Мультиплатформенный - это Kotlin-Multiplatform = Kotlin-JVM + Kotlin-JS..
Я считаю, что случайное количество Kotlin-JVM предоставляется java.util.Random
и Math.Random()
, если это Kotlin-JS, по следующим причинам:
Math.Random()
для получения случайного числа.random()
.Random()
, есть import java.util.*
, или какой-то файл напрямую использует java.util.Random
, например Котлин / библиотеки / stdlib / jvm / src / kotlin / collections / MutableCollectionsJVM.kt # L78.Кроме того, java.util.Random
разработан как независимый от платформы, а также независим от платформы реализации, по следующим причинам:
Я так думаю,
How would you get the source of randomness without setting your own platform dependent implementations?
Может быть, достаточно случайное начальное число и достаточно случайное (P) RNG.
Ответ будет: подождите, пока выйдет Kotlin 1.3, где общая библиотека будет обогащена классами и методами, которые могут предоставить источник случайных значений.
https://kotlinlang.org/docs/reference/whatsnew13.html#multiplatform-random
Я ценю ваши усилия, но я не могу найти ничего, связанного с заданным мной вопросом.