私は smalltalk の初心者で、明らかに簡単な問題に頭がおかしくなりました。自分のクラスは Morphic クラスを継承し、keyStroke を上書きします
keyStroke: anEvent
Transcript show: myDigitClass.
(((anEvent keyValue) > 47) and: ((anEvent keyValue) < 58)) ifTrue: [
"myDigitClass dropADigit"
"myDigitClass setADigit: (anEvent keyValue) asCharacter."
Transcript show: (anEvent keyValue) asCharacter
]
それはこれまでのところ機能し、Transcript はキーボードで行った入力を示していますが、インスタンス変数 myDigitClass は、この変数を初期化し、setter メソッドを介してこのクラスに渡しましたが、NIL です。私が書いた getter メソッドで myDigitClass にアクセスすると、動作します。
showPane メソッドを呼び出し、入力パラメーター digitMD をインスタンス Var に割り当てます。
showPane: digitMD
|pane|
myDigitClass := digitMD.
pane := DigitMorph new.
pane extent: 340@340.
^pane openInWorld.
そして、ワークスペースで次のことを行います。
myDigitClass := DigitClass new.
myTest := DigitMorph new.
myTest showPane: myDigitClass.