Smalltalk não reconhecerá variáveis temporárias declaradas
-
12-12-2019 - |
Pergunta
Sou um novato quando se trata de Smalltalk e agora estou escrevendo um aplicativo muito simples com uma GUI.Tudo o que este aplicativo faz é adicionar dois operandos de dois campos de entrada e exibir a soma em um terceiro campo de entrada somente leitura.
Estou tendo problemas com o VisualWorks para reconhecer variáveis temporárias que já declarei.
Tento destacar qualquer linha com uma variável temporária declarada, e dirá que tal variável não foi declarada;quero declará-lo como temporário, instância, compartilhado, etc ...É especialmente estranho porque o método pode ser aceito e até mesmo lido quando eu o executo pela GUI (embora eu esteja tendo problemas ao digitar as variáveis como números inteiros), mas se eu quiser imprimir ou inspecionar qualquer linha com uma variável temporária declarada, dirá que não o reconhece como tal e quero declará-lo como isto ou aquilo.
O código:
add
"adds two input fields"
| op1 op2 result |
op1 := #InputOperand1 value asInteger.
op2 := #InputOperand2 value asInteger.
result := op1 + op2.
^result
Alguma ideia?
Solução
O problema é que apenas o texto selecionado é compilado e avaliado.Se você estiver selecionando apenas uma única linha, as declarações de variáveis não serão incluídas no código compilado.Se você selecionar todo o corpo do método para avaliação (sem incluir a assinatura do método), ele deverá funcionar bem.Outra opção é apenas escolher "criar temperatura" quando o compilador solicitar e, em seguida, reverter para a versão salva do método para se livrar da declaração temporária extra.