[#10793] 今度こそ (patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.) — kou@...1609.sip.eee.yamaguchi-u.ac.jp (Koichi Okada)

岡田です。

10 messages 2000/09/01

[#10920] SIGINT on windows — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

17 messages 2000/09/14
[#11077] Re: SIGINT on windows — matz@... (Yukihiro Matsumoto) 2000/09/27

まつもと ゆきひろです

[#10944] dummy DLL on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

19 messages 2000/09/18
[#10955] Re: dummy DLL on Windows — WATANABE Hirofumi <eban@...> 2000/09/19

わたなべです.

[#10963] Re: dummy DLL on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/19

なかだです。

[#10964] Re: dummy DLL on Windows — WATANABE Hirofumi <eban@...> 2000/09/19

わたなべです.

[#10978] [PATCH] require in require — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

15 messages 2000/09/20

[#10985] httphead.rb proxy version problem — Katsuyuki Komatsu <komatsu@...>

小松です.

16 messages 2000/09/20
[#10989] Re: httphead.rb proxy version problem — Minero Aoki <aamine@...> 2000/09/20

あおきです。

[ruby-dev:10927] Re: Class Variable と継承

From: Yasushi Shoji <yashi@...>
Date: 2000-09-15 20:12:24 UTC
List: ruby-dev #10927
もうすこしだけお付き合いください。

At Fri, 15 Sep 2000 14:40:03 +0900,
matz@zetabits.com (Yukihiro Matsumoto) wrote:
> 
> |> 驚かない仕様があると言うのであれば、是非聞きたいです。
> |
> |%rubyでいろいろばかな事を言ってたんですが、copy on writeな物が欲いのかも
> |しれません。「子供で書き変えた時点で親クラスから独立するクラス変数」
> 
> そっちの方が実装は簡単なんですが、たぶんそれだと使いにくいと
> 思います。

たぶん僕が欲いものが今の class variableとは別物だからじゃないかという結
論になりました。

At Thu, 14 Sep 2000 12:57:18 +0900,
matz@zetabits.com (Yukihiro Matsumoto) wrote:
> 
> クラス変数ってのはアクセス範囲を限定したグローバル変数に過ぎ
> ず、でclass Bの定義の中で「代入」しているので"B"なのは当然だ
> と思いますが。

ここで、まつもとさんが言っているように、いまの class variableって 
global class variableなんじゃないでしょうか?相変らず他の言語の事を分っ
てなくて書いてますが、local class variableなんて物があっても良いかなと思
うんですが、どうでしょう?

定数はいまのところ僕の欲い class variableの様な動作をすんですが、
動的に initializeすると warningが出ます(まぁ、あたりまえですが‥)

# methodは local class variableっぽい

以下に sample code付けます。
--
       yashi


class A
  CONS = 'A'
  $var = 'A'
  @ivar = 'A'
  @@cvar = 'A'
  def A.method
    'A'
  end
end
class B<A
  p CONS
  p $var
  p @ivar
  p @@cvar
  p method

  # change (or, in fact, initialize) them
  CONS = 'B'
  $var = 'B'
  @ivar = 'B'
  @@cvar = 'B'
  def B.method
    'B'
  end
end
puts '------------'
class C<A
  p CONS
  p $var
  p @ivar
  p @@cvar
  p method
end



"A"        # constant variable
"A"        # global variable
nil        # instance variable
"A"        # (global) class variable
"A"        # method
------------
"A"
"B"
nil
"B"
"A"

In This Thread