>>545
ぜんぜん意味わからん。やりたいことはこれなんだろうけど、

>別に定数にこだわってるわけじゃないんですが、Baseから複数サブクラス
>をつくりそれぞれで同名かつ別の変数を使いたいのでクラス変数ではだめなので…

クラスインスタンス変数じゃだめなのか?これならサブクラス間で違う値になるし、値はクラスごとに1つなので同じクラスに属するインスタンスなら同じ値を共有できる。

class Parent
 @value = nil
 def self.value
  @value
 end
 def self.value=(v)
  @value = v
 end
end

class Child1 < Parent
 @value = 'foo'
end

class Child2 < Parent
 @value = 'bar'
obj

p Child1.value  #=> "foo"
p Child2.value  #=> "bar"

またインスタンスメソッドから参照するときは self.class.value とself.class.value= で参照できる。