Как избежать идентификаторов в Boo? - PullRequest
2 голосов
/ 20 декабря 2009

Если у меня есть идентификатор с тем же именем, что и у существующего ключевого слова, как мне его избежать?

Ответы [ 2 ]

1 голос
/ 21 декабря 2009

Вот что я нашел (и это, вероятно, окончательный ответ):

  1. Можно использовать @ в качестве префикса в именах идентификаторов. Однако по умолчанию он создает другой идентификатор (@a != a).
  2. Поскольку @ разрешено, можно добавить новый шаг компилятора в конвейер, который будет выполнять TrimStart('@') для всех идентификаторов. Это работает нормально, вам просто нужно запомнить все типы вещей, которые имеют имена.
  3. Если вы используете Rhino.DSL, у него есть шаг UseSymbols, который преобразует @a в 'a', что меня сильно смутило (я работал с проектом, который по умолчанию включал этот шаг).
0 голосов
/ 21 декабря 2009

Я не думаю, что что-то вроде C # @ префикса реализовано в Boo ... но я уверен, что этого можно достичь, вставив пользовательский шаг компилятора в начало конвейера компилятора. .

...