Каждый массив и хэш в Ruby является объектом, и каждый объект этих типов имеет набор встроенных методов. Программисты, плохо знакомые с Ruby, могут узнать о том, как использовать каждый метод с массивом и хешем, следуя простым примерам, представленным здесь.
Использование каждого метода с объектом Array в Ruby
Сначала создайте объект массива, назначив массив «stooges».
>> stooges = ['Larry', 'Curly', 'Moe']
Затем вызовите каждый метод и создайте небольшой блок кода для обработки результатов.
>> stooges.each {| stooge | печать марионеток + "\ n"}
Этот код производит следующий вывод:
Larry
Кудрявый
Моу
Каждый метод занимает два аргументы- элемент и блок. Элемент, содержащийся в трубах, похож на заполнитель. Все, что вы помещаете в трубы, используется в блоке для представления каждого элемента массива по очереди. Блок - это строка кода, которая выполняется для каждого элемента массива и передается элементу для обработки.
Вы можете легко расширить блок кода до нескольких строк, используя делать определить больший блок:
>> stuff.each делать | вещь |
печатная вещь
печатать "\ n"
конец
Это то же самое, что и в первом примере, за исключением того, что блок определен как все после элемента (в каналах) и перед оператором end.
Использование каждого метода с хеш-объектом
Так же, как объект массива, хеш-объект имеет каждый метод, который можно использовать для применения блока кода к каждому элементу в хэше. Сначала создайте простой хеш-объект, содержащий некоторую контактную информацию:
>> contact_info = {'name' => 'Bob', 'phone' => '111-111-1111'}
Затем вызовите каждый метод и создайте однострочный блок кода для обработки и печати результатов.
>> contact_info.each {| ключ, значение | клавиша печати + '=' + value + "\ n"}
Это дает следующий вывод:
имя = Боб
телефон = 111-111-1111
Это работает точно так же, как каждый метод для объекта массива с одним принципиальным отличием. Для хэша вы создаете два элемента - один для гашиш ключ и один для значения. Как и массив, эти элементы являются заполнителями, которые используются для передачи каждой пары ключ / значение в блок кода как Рубиновые петли через хеш.
Вы можете легко расширить блок кода до нескольких строк, используя do для определения большего блока:
>> contact_info.each do | ключ, значение |
печать ключ печати + '=' + значение
печатать "\ n"
конец
Это то же самое, что и в первом примере с хешем, за исключением того, что блок определяется как все после элементов (в каналах) и перед оператором end.