[#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:47390] Re: class variable of singleton class

From: yamada masaki <masaki@...>
Date: 2010-09-10 09:28:42 UTC
List: ruby-list #47390
はじめまして
まさらっき (@masarakki) です

#1.
class A ;  @@a = 1 ; end

#2.
class A
  class << self ; class_variables ; end
end #=> []

#3.
class A
  class << self ; @@b = 1 ; end
end

#4.
class A
  class << self ; class_variables ; end
end #=> []

#5.
class << A ; class_variables ; end #=> []

#6.
class << A ; @@c = 1 ; end         # warning!

#7.
class << A ; class_variables ; end #=> ["@@c"]

#8.
class A
  class << self ; class_variables ; end
end #=> ["@@c"]

#9.
class << A
   class << self ; @@d = 1 ; end
end

#10.
class << A ; class_variables ; end #=> ["@@c", "@@d"]

(ruby1.8.7です)

何か意図があるのかも知れませんが、
#3-#5 の動作と #6-#8 の動作に整合性がないと感じます


2010年9月10日17:24 NARUSE, Yui <naruse@airemix.jp>:
> 成瀬です。
>
> 2010年9月10日16:53 Hiroki Yoshioka <irohiroki@gmail.com>:
>> 代わりにクラスAのクラス変数になっています。
>>
>> class A
>>  @@a
>> end   # => 1
>
> irb(main):001:0> class A;class << self; p self;@@a=1;end;end
> #<Class:A>
> なので、クラスAのクラス変数になるのは正しいです。
> クラスAのメタクラスはクラスAなのです。
>
>> class << A
>>  @@a
>> end   # => NameError: uninitialized class variable @@a in Object
>
> これで @@a を参照できないことこそがバグなような気がします。
>
> --
> NARUSE, Yui
> naruse@airemix.jp
>
>

In This Thread

Prev Next