Я пытаюсь воспроизвести функциональность Sinatra. В частности, DSL-подобная часть, где вы можете определять маршруты в определении класса. Когда я пытаюсь запустить свою версию человек-DSL, я получаю ошибку, undefined method '<<' for nil:NilClass
на линии 11.Ruby DSL Инициализация переменных
class Persons
class << self
def reset!
@persons = []
end
def add_person title, name
@persons << {
title: title,
name: name
}
end
end
reset!
end
class MyPersons < Persons
add_person 'Dr.', 'Bob'
add_person 'Mr.', 'Jones'
end
Вторая часть - мой вопрос. Как я могу инициализировать «лиц» без вызова метода в дочерних классах? –
только что отредактировал мой ответ, надеюсь, ответит на этот вопрос. –