反省
- 2引数メソッドの表示まではOK, コンパイルはまだ怪しい部分がある。
- color: see: のような特別のインタフェースを持つタイルの為のきれいなプロトコルを用意したい。
- 型情報を活用したい。-> インタフェース
目標
- 制約に使うための3引数の関数を eToys で利用出来るようにする(作成は出来なくても良い)。
- ワールドに含まれるスクリプト、オブジェクトをツリー上に表示。どんな意味上の関連があるのか考える。
- クラスインスタンス(siblings)
- 新しいメソッドを追加する事が出来る。(この場合はコピーという事にする。簡単だから)
- Step 方式のメリットとデメリットについてまとめる。
- ブラウザから削除した時にビューワもついてくるようにする。
方針や疑問
- テスト作成
- ブラウザから作成したメソッドを scripts に登録する必要が無いかも知れない。
- 最初から Player に実装されているメソッドも編集できたら面白いのでは無いか?
実装
- ScriptEditorMorph と MethodMorph に依存関係を設定。
- 型情報の生成と保存。
- ブラウザから直接入力したメソッドを scripts に登録しないようにする。
- self currentWorld printScriptSummary で現在のワールドの情報が分かるようになっている。
- インタフェース Player>>methodInterface: selector として実装
- Morph 側で Player にスロットを追加する方法の調査
- Morph>>additionsToViewerCategories
メッセージはプレイヤのメッセージ ^#( カテゴリ名 ( (command メッセージ 'コメント' opt引数の型) (slot copy 'returns a copy of this object' Player readOnly Player getNewClone unused unused) (slot メッセージ 'コメント' 返り型 readWrite レシーバ型 getter レシーバ型 setter:) ) )
アイデア
- A horizon: B と書けた方が良いか?
- TestDaemon 最後に成功したコンテキストを覚えておく。
- スタック型。ツリー形にメモる仕組み。考え方を考える。
- ワールドエキスプローラ