hirocyです.

おおお.なるほど.
prepended_idxesがミソですね.
再帰的に書けばいいのだろうとは思いつつ,
なかなか自分一人ではひらめきません...
まだまだ修行が足りませんね.

ありがとうございました!

On Thu, 17 Aug 2006 17:24:42 +0900,
rubikitch wrote:
>>  n次元配列に対するeach_indexを実現したいのですが,
>>  
>>  nが決まっていれば難しくはないのですが,不定の場合,
>>  どう書けば良いのか...
> 
> 再帰を使ってこんなのはどうでしょう?
> each_with_indexを拡張して、indexの部分が配列になっています。
> prepended_idxesは状態変数なので使う際は無視してください。
> 
> require 
> class Array
>   def n_each_with_index(prepended_idxes=[], &block)
>     each_with_index do |x, i|
>       if Array === x
>         x.n_each_with_index(prepended_idxes+[i], &block)
>       else
>         yield(x,prepended_idxes+[i])
>       end
>     end
>   end
> end

-- 
// hirocy