[#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

 色々返答したいと思いましたが、時間が無いので「OOPの何がいいのか、いまいち分かっておりません。」の部分にのみ解答させていただきます。

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

そえじま@勉強中です。

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

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

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

From: "Shota Fukumori (sora_h)" <sora134@...>
Date: 2010-09-17 08:00:08 UTC
List: ruby-list #47415
sora_hです。
たのしいRubyの2版を持っていないので詳しくはわからないんですが、コードを読んだ感じだと

> module Comparable
>   def <=(other)
>     t= self <=> other
>     if t <= 0
>       return true
>     else
>       return false
>     end
>   end
> end

Comparableモジュールは<=などの基礎的な比較に使うメソッドを定義するものです。
http://rurema.clear-code.com/1.9.2/class/Comparable.html

書籍を持っていないので詳しくは話すことができないのですが、
ここでは<=というメソッドを自分で定義してます。

<=>はUFO演算子と言うらしく(yugui著初めてのRubyより)、比較につかいます。
Numericクラスでは以下のように定義されています。
(整数のFixnumや小数のFloatなど数値関連のオブジェクトで使用可能)
Arrayなどでは挙動がまた違うようですね。

http://rurema.clear-code.com/1.9.2/method/Numeric/i/=3c=3d=3e.html

-- 
Shota Fukumori a.k.a. @sora_h - http://codnote.net/

In This Thread