Это то, что у вас есть:
class Item
# accessors for @name and @exam possibly defined here
def initialize(name, exam)
@name = name
@exam = exam
end
# methods possibly defined here
end
item = Item.new("Backpack", "Just a backpack")
#=> #<Item:0x0000010201dda0 @name="Backpack", @exam="Just a backpack">
Так у вас есть массив a
с одним элементом, экземпляр класса Item
с переменные экземпляра @name
и @exam
, имеющие значения «Рюкзак» и «Только рюкзак» соответственно:
a = [item]
#=> [#<Item:0x0000010201dda0 @name="Backpack", @exam="Just a backpack">]
Вы можете использовать Object#instance_variable_get для получения значений переменных экземпляра @name
и @exam
, которые я буду хранить в локальных переменных name
и exam
:
name = a.first.instance_variable_get(:@name) #=> "Backpack"
exam = a.first.instance_variable_get(:@exam) #=> "Just a backpack"
Теперь, когда у вас есть значения этих переменных, вы можете сделать что бы вы ни хотели с ними.
Если читатель озадачен этим массивом, он содержит один элемент: экземпляр класса 'Item'. –