有馬です。
[ruby-list:6611] Game of Life (Re: call for scripts) で応募されていた
lifegame.rb の 修正案です。nil クラスの + が削除されたことにより
最近の ruby では動かなくなっていました。
職場で Ruby/Tk を紹介すべく、サンプルを集めていて気づいたのですが、
他にも call for scripts で採用されたものの中に、最近の ruby で
動かないものがないかと心配になりました。
杞憂ならよいのですが。
def nextgen
n = {}
@grid.each_key { |i|
@neighbors[i].each { |pos|
j = i + pos
next if j < 0
next if @width * @height <= j
n[j] = 0 if not n.key?(j)
n[j] += 1
}
}
n.each { |i, n|
@grid[i] = if (n == 3 || @grid[i] && n == 2) then true else nil end
}
end
--
有馬 康弘 <fit0298 / fitec.co.jp>