RX0308

Domínio: Execução

Mensagem de erro

%s é uma coleção com chaves, e um item sem rótulo não tem chave sob a qual pousar (%s)

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

A história

Você usou o data.add para colocar um item num mapa, e o motor recusou dizendo que o item não tem rótulo. Vamos ver a diferença entre listas e mapas. Uma lista guarda itens em fila, e um novo item vai para o fim. Um mapa guarda cada membro sob uma chave, como uma gaveta com etiqueta. Se você manda um item sem etiqueta, o motor não sabe em qual gaveta ele vai ficar. Ele poderia inventar uma chave, mas isso criaria um nome que você nunca escolheu, e depois você não acharia o item. Então recusa pelo nome. Um exemplo: o seu mapa de contatos recebe um data.add só com um número de telefone. Qual contato é esse? A correção é rotular, escrevendo data.add com o mapa e depois o rótulo, dois pontos, e o valor. Ou, se a ideia era uma fila de itens, use uma lista em vez de um mapa. A mensagem mostra o nome ao qual a coleção está ligada. Escolha: rotular ou trocar por lista.

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