RX0092

Domínio: Análise sintática

Mensagem de erro

uma chave que repete o seu receptor: %s (%s)

Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.

A história

Você usou uma chave que apenas repete o nome de quem recebe o valor, e o motor recusou no parse. Vamos entender a ideia. Uma chave existe para dizer o que o valor é. Se ela só repete o nome do receptor, não diz nada de novo, não faz trabalho. Numa atribuição, o receptor é o nome da esquerda: escrever x igual a colchete x dois pontos um repete x sem necessidade. Num builtin com um só parâmetro, o receptor é o ser que a linha declara receber: escrever length com value dois pontos ab repete o nome do parâmetro. A mensagem mostra a chave repetida. Tudo o mais continua permitido. Uma chave que traz informação nova, como x igual a colchete a dois pontos um, ou Banana igual a colchete grams dois pontos cento e vinte, é legal. E length de ab, sem chave, também. A correção é remover a chave redundante, ou trocar por uma que diga o que o valor realmente é.

Texto do catálogo de erros do motor do Rush.