我正在和Jim Weirich一起观看截屏视频,他开始做这样的事情:
class Subuser < User("Type")
end
Ruby是否允许您在定义父类时传递参数?我无法想出一个实际可行的例子。
答案 0 :(得分: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