我想将二维数组的每个元素转换为字符串,each
但我不能使用do
(具体要求 - 这是家庭作业)。该数组称为families
,其定义如下:
#family.rb
class FamilyDetails
attr_accessor :name, :sex, :status, :age
def initialize (name, sex, type, role, age)
@name = name
@sex = sex
@type = type
@role = role
@age = age
end
end
# Below, an array is created called families; instances of the class are then instantiated within the array elements
families = []
families << FamilyDetails.new('Andrew','Male', 'Child', 'Son' , '27' )
families << FamilyDetails.new('Bill','Male', 'Parent', 'Father' , '63' )
families << FamilyDetails.new('Samantha','Female', 'Parent', 'Mother' , '62' )
families << FamilyDetails.new('Thomas','Male', 'Child', 'Dog' , '10' )
families << FamilyDetails.new('Samantha', 'Female', 'Child', 'Dog' , '4' )
我尝试使用join
如下方法:
def arrayeachsearch(an_array)
an_array.each
output = an_array.join(" ")
puts output
end
arrayeachsearch(families)
但是,这会导致以下输出:
#<FamilyDetails:0x00000002358110> #<FamilyDetails:0x000000027c7f48> #<FamilyDetails:0x000000027c7e58> #<FamilyDetails:0x000000027c7d68> #<FamilyDetails:0x000000027c7c78>
我希望有这样的输出(我已经包围了information from the array like this
):
- 家庭成员 1 是
Andrew
谁Male
,一个Child
;具体来说,一个Son
年迈的27
- 家庭成员2是
Bill
谁Male
,一个Parent
;具体来说,一个Father
年迈的63
- 家庭成员 3 是
Samantha
谁Male
,一个Parent
;具体来说,一个Mother
年迈的62
- 家庭成员 4 是
Thomas
谁Male
,一个Child
;具体来说,一个Dog
年迈的10
- 家庭成员 5 是
Samantha
谁Female
,一个Child
;具体来说,一个Dog
年迈的4
解决此问题的最佳方法是什么?原谅我缺乏知识,并感谢您的任何帮助 - 不胜感激。