Question

Donc, je suis un écuyage complet quand il s'agit de smalltalk et que je vous écris maintenant une application très simple avec une interface graphique.Toutes cette application permettent d'ajouter deux opérandes ensemble à partir de deux champs de saisie et affichent la somme dans un troisième champ de saisie en lecture seule.

J'ai des problèmes avec Visualworks reconnaissant les variables temporaires que j'ai déjà déclarées.

J'essaie de mettre en évidence une ligne avec une variable temporaire déclarée, et cela dira que cette variable n'a pas été déclarée;Est-ce que je veux le déclarer comme temp, exemple, partagé, etc ... c'est particulièrement étrange car la méthode peut être acceptée et même lire quand je l'exécute par l'interface graphique (bien que je pose un problème qui bloque les variables comme des entiers) Mais si je veux imprimer ou inspecter une ligne avec une variable temporaire déclarée, cela dira qu'elle ne le reconnaît pas comme telle et que je veux le déclarer comme cela ou cela.

Le code:

add
"adds two input fields"

| op1 op2 result |

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

result := op1 + op2.

^result

Des idées?

Était-ce utile?

La solution

Le problème est que seul le texte que vous avez sélectionné est compilé et évalué.Si vous ne sélectionnez qu'une seule ligne, les déclarations variables ne sont pas incluses dans le code compilé.Si vous sélectionnez l'ensemble de la méthode pour l'évaluation (sans inclure la signature de méthode), cela devrait fonctionner correctement.Une autre option consiste simplement à choisir "Créer la température" lorsque le compilateur invite, puis revenez à la version enregistrée de la méthode pour vous débarrasser de la déclaration supplémentaire de Temp.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top