Я хотел бы преобразовать каждый элемент массива 2D в строку, в пределах each
Но я не могу использовать do
(конкретное требование - это домашнее задание). Массив называется families
, и определяется следующим образом:Преобразование 2D массив в строку
#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
, aChild
; Конкретнее,Son
возрасте27
- Член семьи 2 является
Bill
ктоMale
,Parent
; конкретно,Father
возрасте63
- Член семьи 3
Samantha
, который являетсяMale
, AParent
; Конкретнее,Mother
в возрасте62
- Семейный член 4 является
Thomas
ктоMale
,Child
; Конкретнее,Dog
возрасте10
- Член семьи 5 является
Samantha
ктоFemale
,Child
; конкретно,Dog
возраст4
Что такое лучший способ пойти по этому поводу? Простите мою нехватку знаний, и спасибо за любую помощь - оценили.
это домашнее задание или что? –
Кто сказал, что вы не можете использовать 'do'? Клиент, который не знает, как программировать? Почему вы должны использовать «каждый»? Это пахнет домашней работой, которая должна быть раскрыта, если так. –
Да, это домашнее задание - я не знал, что это должно быть раскрыто (отредактировано, чтобы раскрыть этот факт!). – Tom