ルビーだと0-9がになるようだ。
関数型は使わないから何が正しいクロージャなのかは知らないけど、
この辺は言語ごとの解釈でいいような気がしてきた。
第一同じ変数を共有した複数のクロージャを返すような処理って普通書かないんじゃないかな?
def makef
  $ar = Array.new
  j = 0
  (0..9).each do |i|
    $ar[i] = Proc.new {
      print '(', i, ', ', j, ') '
    }
    j = j + 1
  end
  $ar
end
makef.each do |f|
  f.call
end