私は Smalltalk を初めて使用し、Integer
Smalltalk に存在するクラスに新しいメソッドを追加しようとしています。メソッドは「アクセサ」プロトコルに入れる必要があります。私は VisualWorks を使用していますが、それを行うオプションが見つかりません。私は開発者ガイドを調べましたが、まだ明確ではありません。誰かがそれを進める方法についてスクリーンショットまたは段階的な解決策を教えてもらえますか?
質問する
1123 次
2 に答える
4
- ブラウザ ウィンドウを開きます [Small Talk Launcher --> System --> Browser]
- パッケージを選択
- クラスを選択
- 新しいメソッドを追加するプロトコルを選択します。
4 つのパーティション [パッケージ、クラス、プロトコル、メソッド] の下に「ソース」タブがあります。その「ソース」タブのテキストをメソッドのソース コードに置き換えます。
ブラウザメニューの「編集」オプションに移動します。「同意する」オプションを選択します。
新しいメソッドが正常に追加されました!
乾杯!アディティア。
于 2013-09-08T01:08:28.697 に答える
2
Smalltalk のアイデアに踏み込むと、クラスもオブジェクトであり、新しいメソッドをコンパイルするクラスと言うだけで、新しいメソッドをそれ自体に追加できることがわかります。
Integer compile: 'getSomeVar ^someVar' classified: 'someVar'
_これにより、プロトコル内の整数に、インスタンス変数を返す呼び出されるメソッドが追加されます._someVar
getSomeVar
someVar
ただし、一般的なワークフローでは、Aditya Kappagantula が言及した System Browser など、Smalltalk 環境が提供するツールを使用する必要があります。
于 2013-09-08T04:30:55.873 に答える