[#11357] [PATCH] an analogue of `long long' — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

18 messages 2000/11/01
[#11358] Re: [PATCH] an analogue of `long long' — matz@... (Yukihiro Matsumoto) 2000/11/01

まつもと ゆきひろです

[#11364] Re: [PATCH] an analogue of `long long' — EGUCHI Osamu <eguchi@...> 2000/11/02

えぐち@エスアンドイー です。

[#11440] class Character (was: Ruby I18N) — Yasushi Shoji <yashi@...>

[ruby-dev:11428] からの続きですが、threadは切りました。

14 messages 2000/11/08
[#11442] Re: class Character (was: Ruby I18N) — TAKAHASHI Masayoshi <maki@...> 2000/11/08

高橋征義です。用語について。

[#11443] Re: class Character (was: Ruby I18N) — Yasushi Shoji <yashi@...> 2000/11/08

At Wed, 8 Nov 2000 20:44:55 +0900,

[#11520] A problem of Socket methods on Windows — OKA Toshiyuki <oka@...>

岡と申します。

22 messages 2000/11/15
[#11523] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11528] Re: A problem of Socket methods on Windows — matz@... (Yukihiro Matsumoto) 2000/11/15

まつもと ゆきひろです

[#11532] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11534] Re: A problem of Socket methods on Windows — OKA Toshiyuki <oka@...> 2000/11/15

岡です。

[#11535] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11538] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11662] IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org>

In article <E140cR3-0002ls-00@ev.netlab.zetabits.co.jp>,

22 messages 2000/11/28
[#11663] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/11/28

まつもと ゆきひろです

[#11664] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/28

In article <E140fxW-0002u9-00@ev.netlab.zetabits.co.jp>,

[#11665] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/28

In article <hvor93w5wb8.fsf@coulee.m17n.org>,

[#11669] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/29

In article <hvoofz05uwz.fsf@coulee.m17n.org>,

[#11672] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/11/29

まつもと ゆきひろです

[#11675] Re: IO (Re: fork problem?) — Koji Arai <JCA02266@...> 2000/11/30

新井です。

[#11677] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/12/01

まつもと ゆきひろです

[ruby-dev:11636] Re: class variable

From: Koji Arai <JCA02266@...>
Date: 2000-11-23 07:34:11 UTC
List: ruby-dev #11636
新井です。

> まつもと ゆきひろです

> |class << Foo
> |  # (A)
> |  @@bar = 3		# Fooのクラス変数
> |  p class_variables	# => [@@klass]		特異クラスのクラス変数
> 
> でのclass_variablesの出力は不適切でしょう。この場所では
> @@klassは参照できないのですから。

了解。

> 私はそうは思いません。
> 
>   * 特異クラス定義によってクラス変数が増えるのは良くない。
>     Fooのインスタンスで共有されるクラス変数が欲しければ、そ
>     のクラスで初期化が行われているべきである。

なるほどねぇ。ここで、やっと「クラス変数が静的である」ことの
意味がわかりました。クラス変数の「静的なスコープ」はかなり重
要な要素ですね。

module Foo
  @@bar = 1
end

class Bar
  @@bar = 2
  include Foo
  def bar
    @@bar
    type.class_variables
  end
end

Bar.new.bar	# => 2

これで 1 が返って来たら困りますものね。

えっと、(A)でのクラス変数追加が許されるのは、クラスの特異ク
ラス定義はそのクラスの定義と等価とみなしているということでしょ
うか?

>   * 情報共有の範囲は、その閉じた範囲で行われるべきである。よっ
>     て、特異クラス定義ではインスタンス変数と同じようにしか働
>     かないとしても、それはそれである。

こちらは、「エラーにしてしまう」という選択肢もあるわけですが、
「自然にそうなっているものをわざわざ壊す理由はない」ってとこ
ろでしょうか?うーん、私、読み取れてない気もしますが、今のと
ころ了解。

> 個人的には、「特異クラス定義」は、「(特異クラス)定義」ではな
> く「特異(クラス定義)」で、その定義されるクラスそのものは、仮
> 想的なクラスに過ぎないので、virtual classと形容しました。こ
> れは「仮想クラス」というひとつの用語ではなく、「仮想的なクラ
> ス」という一般的な形容句だと思ってます。

なるほど。

--
新井康司 (Koji Arai)

In This Thread