Книга: Программирование на языке 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]
- 8.1.1. Создание и инициализация массива
- 8.1.2. Доступ к элементам массива и присваивание им значений
- 8.1.3. Определение размера массива
- 8.1.4. Сравнение массивов
- 8.1.5. Сортировка массива
- 8.1.6. Выборка из массива по заданному критерию
- 8.1.7. Специализированные функции индексирования
- 8.1.8. Реализация разреженной матрицы
- 8.1.9. Массивы как математические множества
- 8.1.10. Рандомизация массива
- 8.1.11. Многомерные массивы
- 8.1.12. Нахождение элементов, принадлежащих одному массиву и не принадлежащих другому
- 8.1.13. Преобразование или отображение массивов
- 8.1.14. Удаление из массива элементов равных nil
- 8.1.15. Удаление заданных элементов из массива
- 8.1.16. Конкатенирование массивов и добавление в конец массива
- 8.1.17. Использование массива в качестве стека или очереди
- 8.1.18. Обход массива
- 8.1.19. Преобразование массива в строку с разделителями
- 8.1.20. Обращение массива
- 8.1.21. Удаление дубликатов из массива
- 8.1.22. Чередование массивов
- 8.1.23. Вычисление частоты различных значений в массиве
- 8.1.24. Инвертирование массива для получения хэша
- 8.1.25. Синхронная сортировка нескольких массивов
- 8.1.26. Указание значения по умолчанию для новых элементов массива
- 8.1.22. Чередование массивов
- 8.1.14. Удаление из массива элементов равных nil
- 8.1.20. Обращение массива
- 8.1.4. Сравнение массивов
- 8.1.1. Создание и инициализация массива
- 6.3. Добавление фоновой музыки
- Новые функции API для работы с Blob и массивами
- 9.2 Реализация массива ftAID на платформе Windows NT
- Добавление, изменение и удаление элементов списка