首页 > 解决方案 > 如何从数组中打印类属性?

问题描述

说我有这样的课

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

如果我想从数组的第三个记录/第三个元素中放入 date.day (或每个属性),我将如何访问它(如果我想打印它,或者在特定用户输入时从不同的函数/过程访问它是必须的)?puts array[2] 之类的东西显然不起作用。

标签: arraysrubyclasselementrecord

解决方案


array[2]将返回数组中的第三个元素。当你想打电话时day,你可以写

puts array[2].day

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

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

推荐阅读