Pregunta

Así que soy un completo incipiente cuando se trata de SmallTalk y ahora mismo estoy escribiendo una aplicación muy simple con una GUI.Toda esta aplicación ofrece dos operandos juntos desde dos campos de entrada y muestra la suma en un tercer campo de entrada de solo lectura.

Estoy teniendo problemas con las visuales que reconocen las variables temporales que ya he declarado.

Intento resaltar cualquier línea con una variable temporal declarada, y dirá que tal variable no se ha declarado;¿Quiero declararlo como temporal, instancia, compartida, etc., es especialmente extraño porque el método puede ser aceptado e incluso leerlo cuando lo ejecuto por la GUI, (aunque estoy teniendo un problema a escribir las variables como enteros como enteros) Pero si quiero imprimir o inspeccionar cualquier línea con una variable temporal declarada, dirá que no lo reconoce como tal y quiero declararlo como este o eso.

El código:

add
"adds two input fields"

| op1 op2 result |

op1 := #InputOperand1 value asInteger.
op2 := #InputOperand2 value asInteger.

result := op1 + op2.

^result

¿Alguna idea?

¿Fue útil?

Solución

El problema es que solo el texto que ha seleccionado es compilado y evaluado.Si solo está seleccionando una sola línea, entonces las declaraciones de variables no están incluidas en el código compilado.Si selecciona el cuerpo del método completo para la evaluación (sin incluir la firma del método), debe funcionar bien.Otra opción es simplemente elegir "Crear TEMP" cuando el compilador solicite, y luego vuelva a la versión guardada del método para deshacerse de la Declaración de temperatura adicional.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top