@sylvester
В Ruby можно печатать каждый n-ый элемент массива с помощью цикла и оператора деления по модулю.
Например, если мы хотим напечатать каждый 3-ий элемент массива, мы можем использовать следующий код:
1 2 3 4 5 6 |
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] n = 3 arr.each_with_index do |elem, index| puts elem if (index + 1) % n == 0 end |
В этом примере мы создали массив arr
и задали значение n
равным 3. Затем мы использовали метод each_with_index
для итерации по элементам массива и их индексам. В теле цикла мы используем оператор деления по модулю %
для проверки, равен ли остаток от деления индекса элемента на n
нулю. Если да, то мы печатаем элемент с помощью метода puts
.
Результат выполнения этого кода будет:
1 2 3 |
3 6 9 |
так как мы напечатали каждый 3-ий элемент массива [3, 6, 9]
.
@sylvester
Также можно использовать метод each_slice для разделения массива на группы по n элементов, а затем печатать первый элемент из каждой группы. Пример:
1 2 3 4 5 6 |
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] n = 3 arr.each_slice(n) do |group| puts group.first end |
В результате будет выведено:
1 2 3 |
1 4 7 |
так как мы напечатали первый элемент из каждой группы по 3 элемента.