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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top