Структура
# Каждый символ в аргументах это новая переменная
Person = Struct.new(:name, :age, :address)
person = Person.new('John', 23, 'Moscow')
p person # Person(name = John, age = 23, address = Moscow)
puts person.age # 23Person = Struct.new(:name, :age, :address) do
def get_full_info
"I'm #{name}, #{age} y.o. I'm from #{address}"
end
end
person = Person.new('John', 23, 'Moscow')
puts person.get_full_info # I'm John, 23 y.o. I'm from Moscow# В данном случае объект Struct заменяет конструктор у класса
class Person < Struct.new(:name, :age, :address)
def get_full_info
"I'm #{name}, #{age} y.o. I'm from #{address}"
end
endДополнительный материал
Last updated