- 1. Хэши
Вы можете создать массив из списка нескольких объектов, используя квадратные скобки ([]) и разделяя их запятыми. Массивы в 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 # appending value
- 10
- ruby> h
- {5=>10, 1=>2, "2"=>"4"}
- ruby> h.delete 1 # deleting value
- 2
- ruby> h[1]
- nil
- ruby> h
- {5=>10, "2"=>"4"}