Domanda

Quindi sono un fludito completo quando si tratta di smallTalk e in questo momento sto scrivendo un'app molto semplice con una GUI.Tutta questa app è aggiungere due operandi da due campi di ingresso e visualizza la somma in un terzo campo di immissione di sola lettura.

Ho problemi con Visualworks riconoscendo variabili temporanee che ho già dichiarato.

Cerco di evidenziare qualsiasi linea con una variabile temporanea dichiarata, e dirà che tale variabile non è stata dichiarata;Voglio dichiararlo come temp, esempio, condiviso, ecc ... è particolarmente strano perché il metodo può essere accettato e addirittura leggi quando lo eseguo la GUI, (anche se sto avendo un problema, digitando le variabili come numeri interi) Ma se voglio stampare o ispezionare qualsiasi linea con una variabile temporanea dichiarata, dirà che non lo riconosce come tale e voglio dichiararlo come questo o quello.

Il codice:

add
"adds two input fields"

| op1 op2 result |

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

result := op1 + op2.

^result
.

Qualche idea?

È stato utile?

Soluzione

Il problema è che solo il testo che hai selezionato sia compilato e valutato.Se si seleziona solo una singola riga, le dichiarazioni variabili non sono incluse nel codice compilato.Se si seleziona l'intero corpo del metodo per la valutazione (esclusa la firma del metodo), dovrebbe funzionare bene.Un'altra opzione è semplicemente scegliere "Crea temp" quando il compilatore richiede, quindi ripristinare la versione salvata del metodo per sbarazzarsi della dichiarazione extra temp.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top