Добавить в массив в Ruby

Веб-разработка на Ruby Программирование и разработка

Когда дело доходит до хранения связанной и несложной информации в программе, всегда возникают массивы. Массивы — это набор упорядоченного списка элементов. Используя массивы, вы можете хранить связанные значения в одной переменной, что делает ваш код эффективным и простым в управлении. В Ruby массивы содержат множество встроенных методов, что значительно упрощает работу со списковыми данными.

В этой статье описаны различные методы, которые вы можете использовать для добавления элементов в массив в Ruby.

Как создать массив в Ruby

В Ruby есть несколько способов создать массив. Самый распространенный и простой способ — добавить элементы массива в пару квадратных скобок, разделенных запятой.

[1,2,3,4,5]

Вышеупомянутый массив состоит из пяти элементов.

Как и любой другой допустимый объект, вы можете присвоить массив имени переменной следующим образом:

myarry = [1,2,3,4,5]

Чтобы создать пустой массив с помощью метода квадратных скобок, вы можете:

empty = []

Приведенный выше синтаксис инициализирует пустой массив, и вы можете добавлять значения, используя методы, которые мы обсудим в следующем разделе этого руководства.

Другой способ создать массив в Ruby — использовать новый метод класса.

myarray = Array.new

Приведенный выше формат создаст пустой массив. Этот формат аналогичен инициализации пустого массива с использованием пары пустых квадратных скобок.

Чтобы указать размер массива во время создания, вы передаете размер в круглых скобках:

myarray = Array.new(10)

В приведенном выше примере Ruby создает массив из 10 элементов, что означает, что индекс элементов начинается с 0 до 9.

Последний способ создания массива сочетает в себе квадратные скобки и новый метод класса.

Синтаксис для этого ниже:

myarray = Array.[]()

Приведенный выше синтаксис создаст новый пустой массив. Если вы хотите присвоить значения во время создания массива, вы можете сделать:

myarray = Array.[](1,2,3,4,5)

Ruby возьмет элементы, переданные в скобках, и добавит их в новый массив.

Как добавить элементы в массив в Ruby

Если у вас есть существующий массив, вы можете добавлять элементы в коллекцию, используя различные методы.

Метод 1: Использование следующего индекса

Первый способ — присвоить значение следующему индексу. Возьмем пример, в котором у вас есть массив, подобный показанному ниже:

frameworks = [
«React»,
«Angular»,
«Vue JS»,
«Svelte»
]

В приведенном выше примере у нас есть четыре элемента в массиве. Поскольку индекс массива, элементы начинаются с 0, максимальное значение индекса равно 3.

Чтобы добавить элемент в массив, используя его индекс, мы можем присвоить значение последующему индексу следующим образом:

frameworks[4] = «Mithril Js»

У использования вышеупомянутой техники для добавления элементов в массив есть два недостатка.

1: если у вас большой массив, может быть сложно вспомнить последующий индекс. Таким образом, если вы пропустите индекс, Ruby будет вставлять нулевые значения до соответствующего индекса.

Например:

frameworks[10] = «Stencil Js»
print frameworks
[«React»«Angular»«Vue JS»«Svelte»«Mithril Js»nilnilnilnilnil«Stencil Js»]

В приведенном выше примере Ruby добавляет значения nil от индекса 5 до 9, чтобы соответствовать указанному индексу 10.

2: если вы укажете неправильный индекс, вы перезапишете значение по указанному индексу.

Например:

frameworks = [
«React»,
«Angular»,
«Vue JS»,
«Svelte»
]
frameworks[1] = «Ooops!»
print frameworks

В приведенном выше примере мы указали неправильный индекс, что привело к перезаписи сохраненного значения.

Вот результат, чтобы показать это:

[«React»«Ooops!»«Vue JS»«Svelte»]

Метод 2: Использование метода push

Мы можем использовать встроенный метод push, чтобы избежать ошибок, которые могут возникнуть при использовании предыдущего метода.

Метод возьмет указанное в скобках значение и добавит его к последнему элементу в массиве.

frameworks = [
«React»,
«Angular»,
«Vue JS»,
«Svelte»
]
frameworks.push(«Mithril Js»)

Используя метод push, вам не нужно вспоминать текущий индекс; Ruby позаботится об этом автоматически.

В некоторых случаях вместо метода push используется синтаксис <<. Функциональность идентична методу push:

frameworks << «Mithril Js»

Метод 3: Использование метода без сдвига

Оба метода index и push добавляют элементы в конец массива. Чтобы добавить элемент в начало коллекции, используйте метод unshift.

Метод unshift работает аналогично методу push. Однако он добавляет элемент с индексом 0.

frameworks = [
«React»,
«Angular»,
«Vue JS»,
«Svelte»
]
frameworks.unshift(«Mithril Js»)
print frameworks

Результирующий массив для этого примера будет:

[«Mithril Js»«React»«Angular»«Vue JS»«Svelte»]

Метод 4: Использование метода вставки

Метод #insert в Ruby принимает в качестве аргументов позицию индекса и значение. Вы можете использовать его для вставки элемента в любую позицию индекса.

Рассмотрим следующий синтаксис:

frameworks = [
«React»,
«Angular»,
«Vue JS»,
«Svelte»
]
frameworks.insert(2«Stencil Js»)
print frameworks

Результирующий массив для этого примера:

[«React»«Angular»«Stencil Js»«Vue JS»«Svelte»]

В приведенном выше примере метод вставки «втиснет» элемент в указанный массив.

ПРИМЕЧАНИЕ. Используйте этот метод осторожно, особенно если у вас есть другие блоки кода, ссылающиеся на заданный индекс.

Заключение

В этом руководстве показано, как работать с массивами, в том числе с использованием различных методов для создания и добавления элементов в массив.

СОВЕТ ОТ ПРОФЕССИОНАЛА: в Ruby есть псевдонимы для методов push и unshift как append и prepend соответственно.

Читайте также:  Случайный выбор из списка Python
Оцените статью
bestprogrammer.ru
Добавить комментарий