In article <200401160217.i0G2Hn2U005256 / sharui.nakada.kanuma.tochigi.jp>,
  nobu.nakada / nifty.ne.jp writes:

> 空のprocなら等値とみなしてもいいような気がしますが、arityが異な
> るものはまずいかも。

えぇと、proc というのは closure ですから環境が入っていて、それが異なる
のもよろしくないんじゃないでしょうか。

% ruby -e '
def m(x)
lambda {}
end
a = m(1)
b = m(2)
p a == b
p eval("x", a) == eval("x", b)
'
true
false

あ、空のだけじゃないか。とすると eval を使わなくても次の例が作れるよう
です。

% ruby -e '
def m(x)
lambda { x }
end
a = m(1)      
b = m(2)      
p a, b
p a == b
p a.call == b.call            
'
#<Proc:0x401be22c@-e:3>
#<Proc:0x401be22c@-e:3>
true
false
-- 
[田中 哲][たなか あきら][Tanaka Akira]