Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Массивы

Статус
В этой теме нельзя размещать новые ответы.

KinG_95

Компетентный
Вы можете создать массив, перечислив несколько его элементов в квадратных скобках ([]) и разделяя их запятой. Массивы в Ruby могут включать в себя элементы разных типов.


ruby> ary = [1, 2, "3"]
[1, 2, "3"]

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


ruby> ary + ["foo", "bar"]
[1, 2, "3", "foo", "bar"]
ruby> ary * 2
[1, 2, "3", 1, 2, "3"]

Мы можем использовать индексы для того, чтобы сослаться на любую часть массива.


ruby> ary[0]
1
ruby> ary[0,2]
[1, 2]
ruby> ary[0..1]
[1, 2]
ruby> ary[-2]
2
ruby> ary[-2,2]
[2, "3"]
ruby> ary[-2..-1]
[2, "3"]

(Отрицательные индексы обозначают относительное смещение считая с не с начала массива, а с конца.)

Массивы могут быть преобразованы в строки и из строк, используя join и split соответственно:


ruby> str = ary.join(":")
"1:2:3"
ruby> str.split(":")
["1", "2", "3"]
====================================
Хешы
====================================
Ассоциативный массив имеет элементы, доступ к которым осуществляется не по порядковому номену (индексу), а по ключу keys, который может быть значением любого типа. Такие массывы иногда называют хеш или словарь; в мире Ruby предпочитают название хэш. Хеш может быть создан путем перечисления пар в круглых скобках ({}). Для поиска чего-либо в хеше используется ключ, так как если бы вы использовали индекс для поиска в в массиве.

ruby> h = {1 => 2, "2" => "4"}
{1=>2, "2"=>"4"}
ruby> h[1]
2
ruby> h["2"]
"4"
ruby> h[5]
nil
ruby> h[5] = 10 # добавляем значение
10
ruby> h
{5=>10, 1=>2, "2"=>"4"}
ruby> h[1] = nil # удаление значения
nil
ruby> h[1]
nil
ruby> h
{5=>10, "2"=>"4"}
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу