Я использую ruby 1.8.5, а метод each_slice() для массива не работает.
each_slice()
Мой код выглядит примерно так:
array.each_slice(3) do |name,age,sex| ..... end
Есть ли другой способ реализовать ту же функциональность в моей старой версии ruby.
Выпекать свои собственные:
module Enumerable def each_slice( n ) res = [] self.each do |el| res << el if res.size == n then yield res.dup res.clear end end yield res.dup unless res.empty? end end
Этот парень
http://tekhne.wordpress.com/2008/02/01/whence-arrayeach_slice/
разобрался, можно
require 'enumerator'
и все работает
Я не использовал его сам, но рассмотрите возможность использования гема backports .
У меня нет 1.8.5, но вы можете попробовать это
0.step(array.size, 3) do |i| name, age, sex = array[i], array[i+1], array[i+2] ... end