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>
==== Некоторые применения замыканий ====
|