Привет, друзья-энтузиасты Ruby! Хотите добавить интересности своему коду, отображая содержимое массива в случайном порядке? Что ж, вам повезло! В этой статье блога мы рассмотрим различные методы, которые помогут вам добиться этого. Так что пристегнитесь, возьмите свой любимый редактор кода и приступайте!
- Использование метода перемешивания.
Методshuffle
— это встроенный метод Ruby, который позволяет случайным образом переупорядочивать элементы массива. Это так же просто, как позвонить по номеруarray.shuffle
! Давайте посмотрим пример:
fruits = ['apple', 'banana', 'orange', 'grape']
random_fruits = fruits.shuffle
puts random_fruits
Выход:
['banana', 'grape', 'orange', 'apple']
- Использование примера метода.
Методsample
— еще один удобный инструмент в вашем распоряжении. Он случайным образом выбирает один или несколько элементов из массива. В качестве аргумента вы можете указать количество элементов, которые хотите выбрать. Взгляните:
numbers = [1, 2, 3, 4, 5]
random_numbers = numbers.sample(3)
puts random_numbers
Выход:
[3, 1, 5]
- Реализация алгоритма перемешивания Фишера-Йейтса.
Если вы предпочитаете более практический подход, вы можете реализовать алгоритм перемешивания Фишера-Йейтса самостоятельно. Этот алгоритм перемешивает элементы, итеративно меняя их местами. Вот упрощенная версия:
def fisher_yates_shuffle(array)
n = array.length
(n - 1).downto(1) do |i|
j = rand(i + 1)
array[i], array[j] = array[j], array[i]
end
array
end
colors = ['red', 'blue', 'green', 'yellow']
shuffled_colors = fisher_yates_shuffle(colors)
puts shuffled_colors
Выход:
['blue', 'red', 'yellow', 'green']
Теперь у вас есть несколько методов случайного отображения содержимого массива Ruby. Предпочитаете ли вы простоту встроенных методов, таких как shuffle
и sample
, или острые ощущения от реализации алгоритма перемешивания Фишера-Йейтса, у вас есть инструменты, позволяющие добавить элемент неожиданности. к вашему коду. Так что вперед, экспериментируйте и получайте удовольствие от своих массивов!