Squeakあれこれ

Squeak関連情報など

[Squeak]Workspaceを探る

2005-03-31 | squeakあれこれ
WorkspaceではSmalltalkコードを書いて'do it'できたりするが、どうしてるんでしょうか?またワークスペースで変数を特別な宣言無しに使えますが、どうしてるんでしょうか?

というわけで、ちょっとWorkspaceについて調べてみる。
■'do it'
WorkspaceのPluggableTextMorph経由でCompilerクラスの#evaluate:in:to:notifying:ifFail:logged:でUndefinedObjectクラスに#DoIt,#DoItIn:メソッドを追加して実行しています。
■Workspace変数
次のコードをワークスペースに記入して'do it'します。
star := StarMorph new.

すると以後starでこのオブジェクトにアクセスできますが、どうなってるかPointer Finderを使って調べてみます。次のコードでインスペクタを起動します。インスペクタから'chase pointers'でPointer Finderを起動します。おもむろにインスペクタを閉じてPointer Finderで'Search again'します。
star inspect.

すると添付画像のように'bindings: Dictionary'を選択してinspectするとbindingsというWorkspaceのインスタンス変数に束縛されていることがわかります。で、ここを参照して'do it'したりできるわけですね。

最新の画像もっと見る

4 コメント

コメント日が  古い順  |   新しい順
Re[Squeak]Workspaceを探る (thoru)
2005-04-02 20:37:49
Workspaceの変数、おいらは使いまくっている割にはどうなってるのかってのはずっと不明のままでしたが、なるほどそうなってるわけでありまするね!へ~*3
返信する
Unknown (hkawa90)
2005-04-02 22:17:05
Thoruさん、N7使ってますか?Connectorsなどがインストールされてて、遊びがいがありますよ。
返信する
N7 (thoru)
2005-04-03 03:04:10
実は使ってません。(汗)SpookyPaintはN7ではなんかうごかない(涙)のでSpookyPaintをある程度かたしてからとおもって・・・。
返信する
hkawa90 (Unknown)
2005-04-03 21:28:45
完成が待ち遠しい…
返信する