青山です。
現在問題になっているのがどの部分か読み切れていないのですが、なんとなく、
Array のサイズを知る方法が無い事が問題になっているような気がします。
こんな感じのがあったりすると少し問題解決に役立ったりするでしょうか?
class Array
def select
case s = yield(self.length - 1)
when Range
self[s]
when Array
tmp = []
for i in s
tmp.push(self[i])
end
tmp
end
end
end
p [1,2,3,4,5].select{|last| 0..(last-1) } # ==> [1, 2, 3, 4]
p [1,2,3,4,5].select{ [1,3] } # ==> [2, 4]
(現在も Array に何か select が定義されていますが、これ、何でしょう?)
--
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>