大原です。 matz / netlab.co.jp (Yukihiro Matsumoto) さんの、 "Thu, 23 Sep 1999 10:21:41 +0900" にだした、 「[ruby-list:17032] Re: attribute」というメールにて…… : > いや、ふつーにお使いください。 > class Fixnum > def foo(n) > @n = n > end > def foo2 > @n > end > end > > 1.foo(5) > p 1.foo2 # => 5 ちょっと脱線してしまうかも知れませんが、 下のような場合、 class Fixnum; def foo(n); @n = n; end; def foo2; @n; end; end class String; def foo(n); @n = n; end; def foo2; @n; end; end n = 1 # (い) p n.foo(5) # (ろ) -> 5 p n.foo2 # (は) -> 5 p 1.foo(5) # (に) -> 5 p 1.foo2 # (ほ) -> 5 n = "1" # (へ) p n.foo(5) # (と) -> 5 p n.foo2 # (ち) -> 5 p "1".foo(5) # (り) -> 5 p "1".foo2 # (ぬ) -> nil (り)と(ぬ)の "1" は、それぞれ違うインスタンスなので一致しない、 ということなのだろうと思いますが、 (に)と(ほ)が一致する、というのがどうもわかりません。 どうしてなのでしょうか? ---- OHARA Shigeki (大原重樹) <os / iij.ad.jp>