RX0042

Domínio: Execução

Mensagem de erro

a condição em %s não é um valor de verdade (é %s)

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

A história

Seu script fez uma pergunta com um if, mas o que você entregou como condição não é um sim ou um não. Vamos entender. No rush, um valor de verdade é a palavra true ou a palavra false. Um número nunca é presumido como verdade. Se você escreve if 0, outras linguagens leriam falso, e se escrevem if de um texto false, leriam verdadeiro, porque o texto não está vazio. Os dois casos são defensáveis e arbitrários. O rush não adivinha, porque um desvio que adivinhasse rodaria o corpo errado sem avisar, e a saída seria de um programa diferente. Então ele recusa. A mensagem informa a posição da condição e o tipo do que chegou, para você ver o que entregou. Exemplo do erro: if 1 abrindo um bloco. A correção é escrever uma condição que resulte num valor de verdade, como uma comparação, por exemplo x maior que 0, ou um verbo que produza true ou false. Assim a pergunta fica clara, e o desvio escolhe o caminho certo.

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