Я делаю курс «ruby bits» в кодовой школе и немного ненавижу. Задания требуют знания, которое не было освещено в их коротких лекциях, что заставляет меня заниматься Google. Иногда я даже не знаю требуемых поисковых запросов. Может ли кто-нибудь помочь мне понять, что происходит в коде ниже?Синтаксис класса потомка в рубине
class InvalidGameError < StandardError; end
def new_game(name, options={})
raise InvalidGameError, "You must provide a name for this game." unless name
{
name: name,
year: options[:year],
system: options[:system]
}
end
begin
game = new_game(nil)
rescue InvalidGameError => e
puts "There was a problem creating your new game: #{e.message}"
end
Я не совсем понимаю, что происходит в первой строке. Также зачем нужно начинать заявление? Разве это не четвертая строка?
редактировал пост – YKY