これ面白かった。Rubyでやるならこう。

a = Class.new {
  def ==(o)
    @i ||= 0
    (@i += 1) == o
  end
}.new

if a == 1 && a == 2 && a == 3
  puts "Hello world!"
end

というか、 == がオーバーライドできる言語ならどんなものでも難しくないね。。

Recent Entries