ruby - Ruby 中的数组容量限制

标签 ruby

我不知道如何设置数组容量,所以我的数组只能存储 3 个元素。例如。如果我尝试推送第 4 个元素,它会返回错误。 有什么想法吗?

最佳答案

默认的 Array 类没有那个功能。因此,您的选择是:

  1. 创建一个单独的类来存储这三个元素并实现您自己的方法,例如 push[]
  2. 子类 Array 并覆盖方法以仅允许三个元素,例如:

    class ThreeElements < Array
      def push(*stuff)
        raise 'Already has three elements!' unless length < 3
        super
      end
    end
    

在我看来,#1 是更好的选择,因为默认的 Array 接口(interface)有太多方法需要覆盖。

关于ruby - Ruby 中的数组容量限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27029662/

相关文章:

mysql - 将 mysql 结果转换为数组或散列

ruby-on-rails - Rails 的 Ransack Search,带有关联模型的 check_box

ruby-on-rails - 如何在rails中迁移dbase数据库

javascript - 使用javascript执行服务器端ruby文件

ruby-on-rails - 在 Devise 中每天登录计数

ruby - 在 Ruby 中减去两个哈希值

ruby-on-rails - Rails 使用 JSON 处理 POST 请求

mysql - 在没有 Xcode 的情况下使用 Rails 安装 MySQL

ruby - puppet getvar() 函数不工作

ruby - rbenv exec bundle exec 而不仅仅是 bundle exec