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

From: toyofuku@...
Date: 1997-05-22 06:41:38 UTC
List: ruby-list #3004
  豊福@パパイヤです。

まつもとさん
>|  @tabstop = @default_tabstop の方はエラーにはならないの
>|ですが、このときの右辺の @default_tabstop は何を見ている
>|のでしょう。
> メソッドと違いインスタンス変数は初期化されていなくてもエラー
> にならないからです.@default_tabstopはBufferのインスタンスの
> 初期化されないインスタンス変数(値はnil)を参照しています.

  やっと何が起こっているのかわかってきました。

> |  バッファローカル変数っぽく書くのはこれでいいんでしょうか。
> そうですね.でもこれだとBufferのサブクラスとは値が共有されま
> せんから,バッファローカル変数のデフォルト値を格納するテーブ
> ルを持つのが良いのでは.

  私としてはここら辺がいいです。

> あるいはバッファローカル変数をインスタンス変数で実装すること
> そのものを避けてしまって,
   ...
> なんてのはどうでしょう.
> 
>         buf = Buffer.new
>         buf.property("tabstop")
>         buf.set_property("tabstop", 4)
> 
> という感じで使うんですけど.

  やっぱり変数っぽく書きたいですね。
S-Lang のバッファローカル変数もちょうどこれと同じように変数名
文字列を使って set,get します。
---
			豊福@パパイヤ
			unbound@papaya.juice.or.jp
			toyofuku@juice.or.jp

In This Thread

Prev Next