Como escapar dos identificadores em Boo?
Pergunta
Se eu tenho um identificador com o mesmo nome da palavra -chave existente, como faço para escapar?
Solução
Foi isso que eu encontrei (e essa é provavelmente a resposta final):
- É possível usar
@
como um prefixo em nomes de identificadores. No entanto, por padrão, ele cria um identificador diferente (@a != a
). - 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. - 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