Поиск по сайту:
Если только знать, но не действовать, то это равносильно неучению (Чжу Си).

Ruby – Массивы

[wtr-time]
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
29.07.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.

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

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

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.