|福間@福岡 です。

|ttate / jaist.ac.jp さんは書きました:

|> a = Array.new(10)
|> for n in 0..10
|>   proc{
|>     nn = n
|>     a[n] = proc{nn}
|>   }.call
|> end

|for の代わりに each を使うだけでもよさそうですが、
|
|  a = Array.new(10)
|  0.upto 10 do |n|
|    a[n] = proc {n}
|  end

もとのを使えば、

  a = Array.new(10)
  for n in 0..10
    1.times {
      nn = n
      a[n] = proc{nn}
    }
  end

ですかね。