Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top