[ruby-list:3000] Re: access to instance variable

From: matz@... (Yukihiro Matsumoto)
Date: 1997-05-22 04:40:28 UTC
List: ruby-list #3000
まつもと ゆきひろです

とうとう3000番です.

In message "[ruby-list:2999] Re: access to instance variable"
    on 97/05/22, Yukihiro Matsumoto <matz@caelum.co.jp> writes:

|rubyはクラスをあんまり特別扱いしていないんですが,その辺が引っ
|かかっているのではないでしょうか.C++使いにはメソッドとクラ
|スの特異メソッド(クラスメソッド)でスコープが相当違うのが戸惑
|うかも知れません.

ちょっとまとめてみましょう.

        class Buffer
          # クラス定義本体(a)
          ..
          def initialize
            # メソッド本体(b)
            ..
          end
          def Buffer.open(file)
            # クラスメソッド本体(c)
            ..
          end
        end

クラス定義の中には3種類のスコープがあるわけですが,それぞれ

  大域変数              どこでも同じ
  インスタンス変数      a,cではクラスのインスタンス変数,bで
                        はそのクラスのオブジェクトのインスタ
                        ンス変数
  ローカル変数          a,b,cともに別々(同じ名前でも違うもの)
  クラス定数            どこでも同じ
  メソッド              a,cではそのクラスのメソッド,bではそ
                        のクラスのオブジェクトのメソッド

になっています.
                                まつもと ゆきひろ /:|)

In This Thread

Prev Next