次のように、tempfile に M というモジュールを extend した場合、
M === tempfile になりません。
ただし、tempfile.kind_of? M は真になります。
=== と kind_of? で異なるのは一貫していないのでは無いでしょうか。
% ./ruby -v -rtempfile -e '
tempfile = Tempfile.new("z")
module M
end
tempfile.extend M
p M === tempfile
p tempfile.kind_of?(M)
'
ruby 1.9.0 (2005-09-06) [i686-linux]
false
true
--
[田中 哲][たなか あきら][Tanaka Akira]