【问题标题】:How to create object array in rails?如何在rails中创建对象数组?
【发布时间】:2011-08-03 07:01:52
【问题描述】:

我需要知道如何在 rails 中创建对象数组以及如何向其中添加元素。

我是 ruby​​ on rails 的新手,这可能是一个愚蠢的问题,但我找不到确切的答案。所以可以请专家对此提出一些意见

【问题讨论】:

  • 你用什么来学习 Ruby?这应该在第一章左右就已经介绍过了。

标签: ruby-on-rails ruby arrays


【解决方案1】:

你只需要一个数组:

objArray = []
# or, if you want to be verbose
objArray = Array.new

要推送,push 或使用<<

objArray.push 17
>>> [17]

objArray << 4
>>> [17, 4]

你可以使用任何你喜欢的对象,它不必是特定的类型。

【讨论】:

    【解决方案2】:

    由于在 Ruby 中一切都是对象(包括数字和字符串),因此您创建的任何数组都是对象数组,它可以容纳的对象类型没有限制。 Ruby 中没有整数数组,或小部件数组。数组就是数组。

    my_array = [24, :a_symbol, 'a string', Object.new, [1,2,3]]
    

    如您所见,数组可以包含任何内容,甚至是另一个数组。

    【讨论】:

      【解决方案3】:

      根据情况,我喜欢用这个构造来初始化一个数组。

      # Create a new array of 10 new objects
      Array.new(10) { Object.new }
      #=> [#<Object:0x007fd2709e9310>, #<Object:0x007fd2709e92e8>, #<Object:0x007fd2709e92c0>, #<Object:0x007fd2709e9298>, #<Object:0x007fd2709e9270>, #<Object:0x007fd2709e9248>, #<Object:0x007fd2709e9220>, #<Object:0x007fd2709e91f8>, #<Object:0x007fd2709e91d0>, #<Object:0x007fd2709e91a8>]
      

      【讨论】:

        【解决方案4】:

        此外,如果您需要创建单词数组,可以使用下一个构造来避免使用引号:

        array = %w[first second third]
        

        array = %w(first second third)
        

        【讨论】:

          猜你喜欢
          • 2019-12-23
          • 2013-12-09
          • 2013-04-30
          • 1970-01-01
          • 2016-01-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-12-20
          相关资源
          最近更新 更多