Объясните, пожалуйста, почему здесь можно использовать точку с запятой и что означает ';'означает в этом контексте
Точки с запятой необязательны в ruby.Это означает, что их использование действительно допустимый синтаксис.Наличие новой строки достаточно для парсера для разделения операторов.В случае, если вы упоминаете точку с запятой, требуется, поскольку в качестве разделителя операторов нет новой строки.
Ниже перечислены все допустимые параметры:
class Dog
end
class Dog;
end
class Dog; end
Недопустимо следующее (с ruby>= 2.3 это вроде бы хорошо)
class Dog end
Для определений класса или метода с пустым телом, использующих одну строку с разделителем точки с запятой, идиоматически в ruby.Если у вас есть тело, вы обычно пропускаете точку с запятой и помещаете содержимое в новую строку.
UPD: я думал, что
синтаксический анализатор Java не 'не допускает такой гибкости, как синтаксический анализатор ruby.Определение класса или метода в Java является строгим синтаксисом, который требует новой строки после имени класса и перед телом определения.