Котлин: Используя карту и уменьшить, генерировать случайный список цветов - PullRequest
0 голосов
/ 14 марта 2019

Мне дали

val c = arrayOf("red", "blue", "green", "yellow", "purple", "orange",
"white", "black")

, и мне нужно сгенерировать и распечатать список из 50 случайных цветов, используя диапазон и карту.И я хочу использовать карту для перевода чисел в цвета и распечатать результат.Могу ли я получить помощь по этому вопросу?

1 Ответ

0 голосов
/ 14 марта 2019

Вместо подхода «диапазон + карта» вы можете использовать функцию List, которая принимает число элементов в списке, и функцию инициализатора элемента:

val c = arrayOf("red", "blue", "green", "yellow", "purple", "orange",
"white", "black")

// create a list of 50 elements initializing each to a random element of 'c' array 
val random50 = List(50) { c.random() }

// print results
random50.forEach { println(it) }

ЕслиВы по-прежнему предпочитаете диапазон и карту, эквивалентно будет создать диапазон из 50 элементов, например 1..50, а затем вызвать map в этом диапазоне:

(1..50).map { c.random() }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...