Mensagem de erro
Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.
A história
Você deu a um builtin uma palavra que ele não conhece, e o motor mostrou todas as palavras que ele aceita. Vamos entender. Alguns builtins aceitam uma palavra de um conjunto fechado, por exemplo no campo method. O assert aceita eq, ne, ge, gt, le, lt, true e false. O http aceita get, post, put, patch e delete. O ws aceita open, accept, recv e send. Esse conjunto está declarado no builtins.feml, e quem confere é o worker, antes de o corpo do builtin rodar. Se a palavra está fora, o motor recusa pelo nome, e lista todas as legais. Antes, o assert dava uma resposta enganosa, dizendo que a asserção falhou, como cinco contra seis, quando o problema era só uma palavra inválida, como zz. Agora a mensagem é direta. Ela traz a linha, a palavra escrita e a lista legal. Exemplo: um assert com method zz. A correção: leia a lista de palavras legais na mensagem, e escolha a que expressa o que você queria.
Texto do catálogo de erros do motor do Rush.
