原です。

In message "[ruby-list:10330] Re: array"
    on 98/10/26, Inaba Hiroto <inaba / st.rim.or.jp> writes:

|def Array.tensor(sizes, index = [], &block)
|  isize = index.size
|  if sizes.size == isize
|    ret = block.call(*index)
|  else
|    i = -1
|    ret = new(sizes[isize]).filter{
|      index[isize] = i += 1
|      tensor(sizes, index, &block)
|    }
|    index.pop
|  end
|  ret
|end

美しい! 僕もまさにこんな風に書きたかったんですよ!!