【问题标题】:Changing an Object-encapsulated Array更改对象封装数组
【发布时间】:2014-06-03 04:41:39
【问题描述】:

这是一个由类封装的数据结构的最小示例。数据结构应该可以通过类方法访问。因此,我想控制访问,例如禁止某些修改。

    class List
      attr_accessor :array

      def initialize
        @array = ["b"]
      end

      def addElement(v)
        @array.insert(v)
      end
    end


    a = List.new
    puts a.array.to_s
    a.addElement("a")
    puts a.array.to_s

输出是

["b"]
["b"]

使用图论 gem plexus 时出现问题。以上只是一个最小的例子。我正在尝试从 Java 背景学习 Ruby。

【问题讨论】:

    标签: ruby arrays oop


    【解决方案1】:

    你用错了Array#insert。考虑改用Array#<<Array#push

    【讨论】:

      猜你喜欢
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 2019-10-03
      相关资源
      最近更新 更多