Pergunta

Se eu tenho um identificador com o mesmo nome da palavra -chave existente, como faço para escapar?

Foi útil?

Solução

Foi isso que eu encontrei (e essa é provavelmente a resposta final):

  1. É possível usar @ como um prefixo em nomes de identificadores. No entanto, por padrão, ele cria um identificador diferente (@a != a).
  2. Desde @ é permitido, é possível adicionar uma nova etapa do compilador ao oleoduto que fará TrimStart('@') em todos os identificadores. Funciona bem, você só terá que se lembrar de todos os tipos de coisas que têm nomes.
  3. Se você estiver usando o rhino.dsl, ele tem um etapa de use -Symbols que converte @a em 'a', que me confundiu muito (eu estava trabalhando com o projeto que incluía essa etapa por padrão).

Outras dicas

Eu não acho nada como o C# @ prefixo é implementado em Boo ... mas tenho certeza de que pode ser alcançado inserindo uma etapa personalizada do compilador para o início do pipeline do compilador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top