如何从数组中打印 class 属性?

How to print class attribute from array?

假设我有一个 class 像这样

class Date 
    attr_accessor :day, :month, :year
end

然后我为它创建了 3 条记录,并将每条记录添加到一个数组中。

class Date 
    attr_accessor :day, :month, :year
end

date = Date.new()
date.day = 31
date.month = 12
date.year = 2019
array = []
array << date

date = Date.new()
date.day = 30
date.month = 2
date.year = 2014
array << date

date = Date.new()
date.day = 23
date.month = 1
date.year = 2012
array << date

如果我特别想从数组的第三个 record/third 元素中放入 date.day(或每个属性),我将如何访问它(如果我想打印它,或者从需要特定用户输入时不同的 function/procedure)?像 puts array[2] 这样的东西显然不起作用。

array[2] 将 return 数组中的第三个元素。当你想调用 day 然后你可以写

puts array[2].day

如果要打印数组中所有元素的日期,您可能需要执行以下操作:

array.each do |element|
  puts element.day
end