Обещание хорошо тем, что от него всегда можно отказаться (Ш. Талейран).

Ruby – Массивы

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
29 июля 2018
Ruby - Массивы
Массивы в Ruby упорядочены, целые индексированные коллекции любого объекта. Каждый элемент в массиве связан с индексом и называется.

Индексирование массива начинается с 0, как на C или Java. Отрицательный индекс принимается относительно конца массива — то есть индекс -1 указывает последний элемент массива, -2 – это следующий за последним элементом в массиве и т. д.

Массивы Ruby могут содержать объекты, такие как String, Integer, Fixnum, Hash, Symbol, даже другие объекты Array. Массивы Ruby не такие жесткие, как массивы на других языках. Массивы в Ruby растут автоматически при добавлении к ним элементов.

Создание массивов

Существует много способов создания или инициализации массива. Один из способов заключается в методе new класса:

names = Array.new

 

Вы можете установить размер массива во время создания массива^

names = Array.new(20)

 

Массив Names теперь имеют размер или длину 20 элементов. Вы можете вернуть размер массива с помощью методов size или length:

#!/usr/bin/ruby

names = Array.new(20)
puts names.size  # Возвращает 20
puts names.length # Также возвращает 20

 

Это приведет к следующему результату:

20
20

 

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

#!/usr/bin/ruby

names = Array.new(4, "mac")
puts "#{names}"

 

Это приведет к следующему результату:

["mac", "mac", "mac", "mac"]

 

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

#!/usr/bin/ruby

nums = Array.new(10) { |e| e = e * 2 }
puts "#{nums}"

 

Это приведет к следующему результату:

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

 

Существует еще один метод Array, []. Он работает так:

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

 

Еще одна форма создания массива заключается в следующем:

nums = Array[1, 2, 3, 4,5]

 

Модуль Kernel, доступный в ядре Ruby, имеет метод Array, который принимает только один аргумент. Здесь метод принимает диапазон в качестве аргумента для создания массива цифр:

#!/usr/bin/ruby

digits = Array(0..9)
puts "#{digits}"

 

Это приведет к следующему результату:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Встроенные методы массива

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

Array.[](...) [or] Array[...] [or] [...]

 

Это вернет новый массив, заполненный данными объектами. Теперь, используя созданный объект, мы можем вызвать любые доступные методы экземпляра. Например,

#!/usr/bin/ruby

digits = Array(0..9)
num = digits.at(6)
puts "#{num}"

 

Это приведет к следующему результату:

6

Ниже приведены общедоступные методы массива (предполагая, что массив является объектом массива):

Массив. Директива 

В следующих таблицах перечислены директивы pack для использования с массивом Array # pack.

Пример

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

a = [ "a", "b", "c" ]
n = [ 65, 66, 67 ]
puts a.pack("A3A3A3")   #=> "a  b  c  "
puts a.pack("a3a3a3")   #=> "a\000\000b\000\000c\000\000"
puts n.pack("ccc")      #=> "ABC"

 

Это приведет к следующему результату:

a  b  c
abc
ABC

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 18

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close