-
Получение массива значений и массива ключей ( keys и values ) {1=>4, 5=>3, 2=>2}.keys #=> [1, 2, 5] {1=>4, 5=>3, 2=>2}.values #=> [4, 3, 2] -
Замена ключей на значения ( invert ) hash = {"первый ключ"=>4, "второй ключ"=>5} hash.invert #=> {4=>"первый ключ", 5=>"второй ключ"} hash = {"первый ключ"=>10, "второй ключ"=>10} hash.invert #=> {10=>"второй ключ"} #Небольшая хитрость: hash.invert.invert возвратит нам хеш с уникальными значениями.
Февраль 21, 2009
Заметка четвертая(работа с хешем, итераторы)
Заметка третья(базовая работа с хешем)
-
Hash hash = {5=>3, 1=>6, 3=>2} hash[5] #=> 3 hash[2] #=> nil hash[3] #=> 2 #Первый случай применимости хеша: если в массиве намечаются обширные #незаполненные (то есть заполненные nil) области, то целесообразнее использовать #хеш с целочисленным индексом. #Посчитать сколько совпадений каждой цифры ( inject ) array = [1, 2, 1, 2, 3, 2, 1, 2, 4, 5] array.inject(Hash.new{ 0 }){ |result, i| result[i] += 1 result } #=> {5=>1, 1=>3, 2=>4, 3=>1, 4=>1}
Заметка вторая(работа с итераторами массива)
-
Изменение всех элементов массива ( map ) array = ["шифровка", "Штирлица", "в", "Центр", "секретно"] array.map{ 0 } #=> [0, 0, 0, 0, 0] array = [1, 2, 3, 4, 5] array.map{ |elem| elem ** 2 } #=> [1, 4, 9, 16, 25] array = [1, 2, 3, 4, 5] array.map{ |elem| elem**2 } #=> [1, 4, 9, 16, 25] array #=> [1, 2, 3, 4, 5] — неизменный первый массив array = [1, 2, 3, 4, 5] array = array.map{ |elem| elem**2 } #=> [1, 4, 9, 16, 25] array #=> [1, 4, 9, 16, 25]
Заметка первая(базовая работа с массивами)
-
Создание массивов ( new, to_a ) Array.new(6){ |index| index + 1 } #=> [1, 2, 3, 4, 5, 6] (1..6).to_a #=> [1, 2, 3, 4, 5, 6] -
Диапазоны ( N..N ) (1..10).to_a #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ("a".."d").to_a #=> ["a", "b", "c", "d"] -
Получение размера массива ( size ) array = [1, "считайте", 3, "количество", 5, 6, "запятых", 2, 5] array.size #=> 9
Начало изучения ruby

Моя первая статья, начал изучать такой славный язык Ruby.
До него было много чего( pascal(ну эт естественно:)), c/c++, delphi, php). PHP уже достаточно хорошо изучен, чтобы писать достойные проекты, поэтому решил, что нужно пополнить свой багаж знаний языком Ruby. И первый цикл статей я посвещаю именно ему.