RX0096

Domínio: Execução

Mensagem de erro

uma chave calculada que não é texto: %s (%s)

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

A história

Você calculou uma chave que não é um texto, e o motor recusou durante a execução. Vamos entender. Um mapa pode ter uma chave calculada: o valor entre colchetes duplos, como a conversão de i para texto, seguida de dois pontos e o valor. É o mesmo segmento que se usa na cadeia, m ponto colchete k. E uma chave é sempre um texto. Então o valor calculado precisa ser texto. Uma chave calculada só se alcança por esse caminho com colchetes, onde um texto nomeia uma chave e um número nomeia uma posição. Por isso, a conversão de sete para texto cria a chave sete, e m ponto colchete o texto sete entre aspas a lê de volta. Se o valor é um número, um valor de verdade, null, um caminho ou uma coleção, o motor recusa. A mensagem mostra o tipo e o valor, para evitar confusão entre o número sete e o texto sete. A correção: converta o valor para texto, com to ponto string, antes de usá-lo como chave.

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