Mensaje de error
En el mensaje, %s marca un valor que el motor completa cuando lanza el error.
La historia
Con data.put, cada valor se guarda bajo una clave. Eso exige dos cosas: un contenedor que tenga claves, y miembros que lleven etiqueta. Aquí falló una de las dos. Si tu contenedor es una lista, el problema es que una lista guarda ítems por posición, no claves; su puerta es data.add. Si tu contenedor sí tiene claves, pero el valor que entregaste no llevaba etiqueta, el motor no sabe bajo qué clave guardarlo. El segundo dato del mensaje te dice cuál de los dos casos fue. Piensa en un archivador con cajones rotulados: no puedes guardar una hoja sin decir en qué cajón, y no puedes usar rótulos en una pila de hojas sueltas. La solución es simple. Si tienes una lista, usa data.add. Si tienes un mapa, ponle una etiqueta al valor al entregarlo, por ejemplo nombre dos puntos y el valor. Con el rótulo correcto, el put sabe dónde guardar.
Texto del catálogo de errores del motor de Rush.
