Mensaje de error
En el mensaje, %s marca un valor que el motor completa cuando lanza el error.
La historia
En tu script, una función declarada dentro de otra intenta leer un valor que pertenece a la función de fuera. Eso es una clausura, y rush no las permite. La razón está en una ley de la casa: capturar estado oculto es acoplamiento oculto. Una función interna puede usar sus propios parámetros, sus propios valores y los del módulo, pero no los valores de la función que la rodea. Si pudiera, el cuerpo interno recibiría estado de la llamada exterior sin que nadie se lo pasara, y leer el código no bastaría para saber de dónde viene cada dato. Fíjate: el nombre sí existe, así que el motor no dice que no localiza nada; dice que es una clausura. Un ejemplo: una función externa tiene un valor base, y la interna lo usa sin recibirlo. La solución, que el mensaje te recuerda: pasa ese valor como argumento de la función interna. Lo que una función necesita debe entrar por la puerta, a la vista de todos.
Texto del catálogo de errores del motor de Rush.
