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

From: MAEDA Shugo <shugo@...>
Date: 1997-05-22 05:50:23 UTC
List: ruby-list #3003
前田です。

On Wed, 21 May 97 19:32:10 JST,
toyofuku@juice.or.jp <toyofuku@juice.or.jp> wrote:

|	class Buffer
|		TABSTOP = 8
|		attr :tabstop, TRUE
|		@tabstop = TABSTOP
|	end
|
|	x = Buffer.new
|
|で似たようなことできるのかなと思って試したのですが、

これだとset-defaultに相当することができませんよね。
rubyにはクラス変数がありませんから、Hashを使って

class Buffer
  DEFAULT = Hash.new
  DEFAULT["tabstop"] = 8
  attr :tabstop, TRUE
  def initialize
    @tabstop = DEFAULT["tabstop"]
  end
end

とするのが良さそうな気がします。
# 以前まつもとさんに教えていただいた手法ですが(^^;

set-defaultは

DEFAULT["tabstop"] = 4

になるわけです。

-- 
前田 修吾 <shugo@po.aianet.ne.jp>

In This Thread

Prev Next