Rubyクラス定義 - Silver/Gold試験対策
p Class.ancestors #=> [Class, Module, Object, Kernel, BasicObject] p Class.instance_methods(false) #=> [:allocate, :new, :superclass] # クラス名 FirstClass = Class.new # 無名クラス klass = Class.new # クラス名 NamedClass = klass klass.name #=> NamedClass # 継承 ちょっと変わった方法 SecondClass = Class.new(FirstClass) SecondClass.superclass #=> FirstClass # ブロッグでメソッド定義する方法 klass_obj = nil ThirdClass = Class.new do |klass| klass_obj = klass p klass == self def hoge :hoge end end ThirdClass == klass_obj # class定義式では、スコープが定義式内外で変わる external_scope = 1 NewDefineClass = Class.new do puts external_scope end # => 1 class Hoge puts external_scope end #=> undefined local variable or method `external_scope' # class名 class Hoge p self end #=> Hoge