Ruby/Подробнее об ассоциативных массивах: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 220:
==== Обновление пары ====
 
Что вы делаете, если хотите обновить какую-то программу или игру? Правильно, устанавливаете апдейт. АВы вотне чтобыповерите, обновитьно значениедля обновления значения в ассоциативном массиве используется метод <code>.update</code>. Странно, да? Пример использования этого метода в "боевых" условиях мы уже приводили в начале раздела. Если вы помните, то мы считали, ''сколько раз повторяется каждое число''. Наверняка, вы немного подзабыли его решение (у программистов есть привычка не помнить [[w:Константа|константы]]). Позволю себе его вам напомнить:
 
<source lang="ruby">
Строка 241:
<source lang="ruby">… { |key, old, new| … } …</source>
 
Раньше мы не встречались с такой записью. Но ничего страшного в ней нет. Это что-то типавроде ''по́ля боя''. Нам выдали вооружение и необходимо провести некий манёвр. В нашем случае, [[w:Арсенал|арсенал]] у нас внушительный: <code>key</code>, <code>old</code> и <code>new</code>. Бой начинается при некоторых условиях. Наш бой начнется, когда при добавлении очередной пары (переданной в предыдущей части страшной записи) обнаружится, что такой ключ уже есть в хеше. Нам предлагается описать наши действия именно в таком случае. Что же это за действия?
 
<source lang="ruby">… { … old + new } …</source>