[#47414] <=>の意味は? — "T.Soejima" <clev@...2.so-net.ne.jp>

そえじま@勉強中です。

37 messages 2010/09/17
[#47420] Re: <=>の意味は? — 藤川浩明 <fhir0aki3@...> 2010/09/17

 他の方がすでに解答されているみたいですが、一応僕なりの答えを書いてみます。僕もRuby初心者なのではっきりとは言えないんですが・・・。

[#47422] Re: <=>の意味は? — "T.Soejima" <clev@...2.so-net.ne.jp> 2010/09/17

そえじま@勉強中です。

[#47424] Re: <=>の意味は? — "Y. NOBUOKA" <nobuoka@...> 2010/09/17

信岡です。

[#47426] Re: <=>の意味は? — "T.Soejima" <clev@...2.so-net.ne.jp> 2010/09/17

そえじま@勉強中です。

[#47428] Re: <=>の意味は? — "Y. NOBUOKA" <nobuoka@...> 2010/09/17

そえじまさん

[#47429] Re: <=>の意味は? — "T.Soejima" <clev@...2.so-net.ne.jp> 2010/09/17

そえじま@勉強中です。

[#47433] Re: <=>の意味は? — 藤川浩明 <fhir0aki3@...> 2010/09/18

GyRCISE/JyE5SlZFeiQ3JD8kJCRIO1ckJCReJDckPyQsISI7fjRWJCxMNSQkJE4kRyFWGyhCT09Q

[#47435] Re: <=>の意味は? — "T.Soejima" <clev@...2.so-net.ne.jp> 2010/09/18

そえじま@勉強中です。

[#47438] Re: <=>の意味は? — masayoshi takahashi <maki@...> 2010/09/18

高橋征義です。『たのしいRuby』の著者の片割れの方から来ました。

[ruby-list:47440] Re: <=>の意味は?

From: "Y. NOBUOKA" <nobuoka@...>
Date: 2010-09-18 04:36:34 UTC
List: ruby-list #47440
信岡です。

既に話はすすんでいますが、「参照先オブジェクト」 という言葉が混乱を招いたように思いますのでその点だけ補足しておきます。

> 例えば、
>
> class Foo
> def bar
> ....
> return 0
> end
> end
>
> foo = Foo.new
>
>
> という場合、「参照先オブジェクト」というのは Fooではないと
> いうことでしょうか?

上記の例の場合、変数 foo の参照先オブジェクトは、クラス Foo のインスタンスオブジェクトです。
Foo.new() を実行すると、クラス Foo のインスタンスのためのメモリ領域が確保されますよね? そのメモリ領域の位置を指し示す情報
(これを参照と言っています) が変数 foo に格納されます。 C 言語におけるポインタに近いものと考えてください。 (Ruby
の内部がどうなってるのか詳しく知らないので正確にはどうなってるのかわかりませんが、おおよそこんな感じだと思います。
ちなみに参照とポインタは同じものではないのでご注意ください。)

「変数 foo の参照先オブジェクト」 という言い方はせずに、単に 「変数 foo」 とか 「変数 foo に格納されているオブジェクト」
とか 「インスタンス foo」 といった言い方をすることもあります。 しかし、「変数 foo の参照先オブジェクト」
というのが正しいと思います。

# --- 例 ---
foo = Foo.new()
foo1 = foo
foo2 = foo

上の例の場合、変数 foo と foo1 と foo2 は識別子が異なる変数ですが、参照先のオブジェクトは 3 つとも同じです。


> Fooのインスタンスはfooであり、barはその中の関数であるという
> 認識しかないのですが・・・

「(クラス) Foo のインスタンスは (変数) foo (の参照先オブジェクト) で、bar はその中 (クラス Foo
で定義されているということ?) のメソッドである」 という認識で間違いありません。
おそらく 「参照先オブジェクト」 を 「そのインスタンスのクラス」
だと勘違いしているだけで、クラスとインスタンスの関係などについては理解していらっしゃるのかなと思います。
「参照先オブジェクト」 という言葉のせいで混乱されたのでしたら、説明が足りず申し訳ありませんでした。


-- 
信岡 裕也 (NOBUOKA Yuya)
e-mail: nobuoka@r-definition.com

In This Thread