[#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:47435] Re: <=>の意味は?

From: "T.Soejima" <clev@...2.so-net.ne.jp>
Date: 2010-09-18 00:55:11 UTC
List: ruby-list #47435
そえじま@勉強中です。

藤川さま、お忙しいところありがとうございます。m(__)m

length なんかは、私もよく使うメソッドの一つでして、大変重宝しております。
こういうのは流石に素人の私でも、「楽だなぁ〜」と言うわけで使うんですが
演算子の再定義みたいなことは滅多にしない(というか、まずやらない)ので
分からなくなってしまいました。

そういう意味で、突っ込んだ話になるとOOPは厄介なことを理解する必要が
あるのかなぁ〜?と思っていたところです。

UFO演算子??
other???

ってな具合になてしまいます。
テケテケな話で恐縮なんですが、やはりBASICのような訳にはいかない
なぁ〜・・・と。


藤川浩明 さんは書きました:
>  色々返答したいと思いましたが、時間が無いので「OOPの何がいいのか、いまいち分かっておりません。」の部分にのみ解答させていただきます。
>
>  OOPのどこが良いか、というのは人によってかなり違いますが、僕にとって一番のOOPの利点は、「覚える事が少なくてすむ」ことです。
>
>  例えば、文字列やら配列やらの長さをはかるときですが、OOPが無ければ
>
> strlen("文字列")
> arraylen(配列)
>
>  というように、ターゲット?に応じていちいち新しい関数を覚えないといけなくなってしまいますが、OOPなら
>
> "文字列".length
> 配列.length
>
>  のように、lengthメソッドだけ覚えていればOKなのでラクなんです。
>
>  もちろん、OOPでなくても、length関数をつくって引数の型を調べて、その型に応じて内部での長さを図る処理をふりわけるようにすればlength関数一個でなんでも長さを計られるようになりますが、そんな事をしたら、複雑になりまくったlength関数に悲惨なバグが出てしまう確立はかなり上がります。
>
>  OOPなら、例えば自分で新しく作った配列に似た新型データ型の長さを計る手続きが欲しくなったら、既存の(おそらくその言語の組み込みライブラリに入っている)length関数をいじって新しい処理を追加したりなんて事をせずに、ただその新型配列のクラスにlengthメソッドをつくるだけですみます。(つまり、length関数をヘタにいじってlength関数を壊してしまうなどの悲惨な事態を避けられます)
>
>  あ〜、もうなんかグダグダの説明になってしまいました・・・。やっぱ初心者が口を出すもんじゃない・・・。
>   


In This Thread