ruby - 有没有办法在 ruby​​ 中指定类不可扩展?

标签 ruby ruby-on-rails-4

因为我们在java中使用“final”关键字来声明一个类不可扩展。我们如何在 Ruby 中实现这一目标?有什么办法吗?

最佳答案

假设您想阻止子类化,您可以从 inherited引发异常。回调:

class Foo
  def self.inherited(subclass)
    raise "Can't inherit Foo class"
  end
end

class Bar < Foo ; end
#=> RuntimeError (Can't inherit Foo class)

关于ruby - 有没有办法在 ruby​​ 中指定类不可扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56271136/

相关文章:

ruby - 无法打开到 127.0.0.1 的 TCP 连接 :9516 (connection refused)

ruby-on-rails - RoR——NoMethodError:私有(private)方法 `open' 调用 Gem::Package:Class

ruby - 为什么没有赋值运算符允许我在没有编译器警告的情况下修改 Ruby 常量?

mysql - 使用 MySQL 或 Rails 计算计划结束与下一个开始之间的差异

ruby-on-rails - 没有 gem 的分页 Next, Previous, Name.order( :id). limit(10).offset(0) 的按钮

mysql - Rails 在 Mac 上采用错误的 mysql 路径

ruby-on-rails-4 - 如何根据服务器自动设置RAILS_ENV

ruby-on-rails 初始化程序在 irb 中不起作用,但在正常运行应用程序时起作用

ruby-on-rails - 直接通过 FTP 访问 Heroku?

javascript - 如何使用 Dropzone.js 和 Rails 4 重定向提交页面?