けいじゅ@SHLジャパンです. 

Structに関するリクエストとクラスに関する質問があります.

1. [Req]

ArrayにはArray.[]がありますが, Structのインスタンスにも用意していただ
けないでしょうか? すなわち:

St = Struct.new("St", :foo, :bar)
s = St[1, 2]

の様な演算子です.

2. [?]
Structを色々試していて気づいたのですが...

class Foo
end

Bar = Foo

class Bar
  def foo
    print "1"
  end
end

f = Foo.new
f.foo

がエラーを起こさないのですが...

つまり, 2度めの class Bar ... は Barの値である class Foo として評価し
ています. これはこれで色々と便利ではあるのですが...

以下のようなことも発生することに気づきました:

Bar = nil

class Bar
  def foo
    print "1"
  end
end

は Bar がクラスでないと怒られます. これはこれは直観に反しているような
気もしています.

これらの動作は意図してこうなっているのでしょうか??


__
.........................................石塚 圭樹@SHLジャパン(株)...
------------>アドレス変わりました!! e-mail: keiju / shljapan.co.jp <----