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

Содержимое удалено Содержимое добавлено
Строка 301:
File.open(file, 'w', &closure)
end</source>
 
Наконец, напишем свой inject.
<source lang="ruby">
class Array
def inject2 ( buf )
self.map{|e|
buf = yield(buf,e)
}
buf
end
end
 
p [1,2,3].inject2(10){|b,e| b += e} #=> 16
p [1,2,3].inject(10){|b,e| b += e} #=> 16
</source>
 
==== Некоторые применения замыканий ====