ruby - 在 Ruby 的类声明中将值传递给父级

标签 ruby

我正在观看 Jim Weirich 的截屏视频,他开始做这样的事情:

class Subuser < User("Type")
end

Ruby 是否允许您在定义父类时传递参数?我想不出一个实际可行的例子。

最佳答案

你可以通过声明一个方法 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

关于ruby - 在 Ruby 的类声明中将值传递给父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12016020/

相关文章:

windows - 如何使用 Ruby 获取目录中最后创建的文件的路径?

ruby - 尽早突破开始/结束 block

javascript - Braintree Drop-In UI 需要重新加载才能正常工作

ruby-on-rails - Rails 中的 link_to 嵌套资源

ruby-on-rails - Heroku 在远程应用程序上运行 rake?

ruby - 根据参数是否为 nil 动态地向方法发送一些参数

ruby - 我不想将 "rake install"发布到 Rubygems

ruby - 随机采样数组的唯一子集

ruby-on-rails - 如何生成用于单元测试的临时文件?

ruby - 什么命令打开 Ruby 的 REPL?