5

私は Jim Weirich のスクリーンキャストを見ていました。彼は次のようなことを始めました。

class Subuser < User("Type")
end

Ruby では、親クラスを定義するときに引数を渡すことができますか? それが実際に機能する例を思いつくことはできません。

4

1 に答える 1

7

User引数を取り、クラスを返すメソッドを宣言することで、これを行うことができます。

class Admin
end

class Client
end

def User(arg)
  case arg
    when :admin
      Admin
    when :client
      Client
  end
end

class Subuser < User(:admin)
end

Subuser.superclass
# => Admin
于 2012-08-18T05:40:32.480 に答える