Книга: Программирование на языке Ruby

8.1.16. Конкатенирование массивов и добавление в конец массива

8.1.16. Конкатенирование массивов и добавление в конец массива

Часто нужно добавить в конец существующего массива отдельный элемент или целый массив. В Ruby это можно сделать разными способами.

Оператор << добавляет объект в конец массива; в качестве значения он возвращает сам массив, поэтому можно объединять несколько таких операций в цепочку.

x = [1, 5, 9]
x << 13       # x равно [1, 5, 9, 13]
x << 17 << 21 # x равно [1, 5, 9, 13, 17, 21].

Аналогичную операцию выполняют методы unshift и push, которые добавляют элемент в начало и в конец массива соответственно (см. также следующий раздел данной главы).

Массивы можно конкатенировать методом concat или с помощью операторов + и +=:

x = [1,2]
y = [3,4]
z = [5,6]
b = y + z  # [3,4,5,6]
b += x     # [3,4,5,6,1,2]
z.concat у # z равно [5,6,3,4]

Имейте в виду, что оператор += всегда создает новый объект. Также не забывайте, что оператор << добавляет в конец новый элемент, который сам может быть массивом.

a = [1,2]
b = [3,4]
a += b          # [1,2,3,4]
a = [1,2]
b = [3,4]
а << b          # [1,2, [3,4]]
a = [1,2]
b = [3,4]
а = a.concat(b) # [1,2,3,4]

Оглавление книги

Оглавление статьи/книги

Генерация: 1.284. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз