В Ruby, что именно означает tLABEL?

Я обычно замалчиваю эту ошибку, когда получаю ее, и просто исправляю любую синтаксическую ошибку, вызванную ею, но из любопытства, что именно означает tLABEL в неожиданной tLABEL?

Я попытался найти ответ, но просто получаю массу людей, пытающихся получить помощь в их ошибках.

Я также нашел это определение:

tlabel - это незанятый элемент управления VCL, который отображает не редактируемый текст на форма. Он определен в блоке StdCtrls.pas.

но я не думаю, что это очень доступное определение.

Ответ 1

A tLABEL - это токен метки. Он часто используется при указании хеша в более новом формате 1.9:

{ key: value }

В приведенном выше примере key: внутренне распознается как токен для метки. Парсер 1.9+ преобразует это в символ, тогда как синтаксический анализатор 1,8 не сделал.

Ошибка, которую вы видите, возникает, когда парсер находит то, что он считает маркером Label, где он не ожидает этого.

Кроме того, ссылка на элемент управления "tlabel" не окончена очень несвязана - класс tLABEL является частью библиотеки Visual Component, используемой Delphi, как это намечено расширением .pas (Pascal).

Ответ 2

Пример этой ошибки происходит потому, что между двоетоями есть пробелы, она должна быть ActiveRecord::Base вместо ActiveRecord: :Base