これは圏です(はてな使ったら負けだとおもっていた)

きっと何者にもなれないつぎの読者につづく。

i限定じゃないのを考えてみた。

ちうわけで、i限定じゃないモノです。まあ、インチキに変わりはない。

def div(x,y)
  eval(<<EOS, TOPLEVEL_BINDING)
  local_variables.each{|vname|
    if eval(vname) == #{x}
      eval("\#{vname} = #{x/y}")
    end
  }
EOS
end

d = 12345678987654321
div(d, 111111111)
p(d)               #=> 111111111
p(d == 111111111)  #=> true
p(d * 111111111)   #=> 12345678987654321

まあ、これだと値が同じ変数が全て上書きされてしまうという問題が。まあいいか。