0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Метод может принимать блок, который собирает данные и возвращает аккумулятор. Аргументом метод принимает начальное значение аккумулятора:</p>
1
<p>Метод может принимать блок, который собирает данные и возвращает аккумулятор. Аргументом метод принимает начальное значение аккумулятора:</p>
2
# Поиск самого длинного слова words = %w{ cat sheep bear } longest = words.reduce(words.first) do |memo, word| memo.length > word.length ? memo : word end puts longest #=> "sheep"<p>Также метод может принимать символ операции (метода), например, для сложения:</p>
2
# Поиск самого длинного слова words = %w{ cat sheep bear } longest = words.reduce(words.first) do |memo, word| memo.length > word.length ? memo : word end puts longest #=> "sheep"<p>Также метод может принимать символ операции (метода), например, для сложения:</p>
3
(5..10).reduce(:+) # 45 # Тоже самое, что и (5..10).reduce { |sum, n| sum + n } # 45 # Multiply some numbers (5..10).reduce(1, :*) # 151200<p>Соответственно, методом можно собирать какие-нибудь данные - например, с наибольшим значением, собирать что-то в массив или в хеш.</p>
3
(5..10).reduce(:+) # 45 # Тоже самое, что и (5..10).reduce { |sum, n| sum + n } # 45 # Multiply some numbers (5..10).reduce(1, :*) # 151200<p>Соответственно, методом можно собирать какие-нибудь данные - например, с наибольшим значением, собирать что-то в массив или в хеш.</p>