「自己クラス」を呼び出す主な理由は 2 つあります。静的メソッドの呼び出し、新しいオブジェクトの作成、定数の取得など、ユーザー空間の処理を行うためです。または自分自身を振り返るために。それぞれがどのくらいの頻度で発生するか知りたいです。
現在ロードされている Pharo コード ベースを照会する最良の方法は何ですか? 組み込みツールはありますか、それとも SOUL を使用する必要がありますか?
「自己クラス」を呼び出す主な理由は 2 つあります。静的メソッドの呼び出し、新しいオブジェクトの作成、定数の取得など、ユーザー空間の処理を行うためです。または自分自身を振り返るために。それぞれがどのくらいの頻度で発生するか知りたいです。
現在ロードされている Pharo コード ベースを照会する最良の方法は何ですか? 組み込みツールはありますか、それとも SOUL を使用する必要がありますか?
ブラウザを開き、オブジェクトに移動し、#class を選択して「senders」をクリックすると、#class のすべての送信者が表示されます。ただし、「それぞれがどのくらいの頻度で発生するか」という回答には適していません。
より操作しやすい形式で同じ呼び出しサイトを取得する方法はObject allCallsOn: #class
、送信者のコレクションを与える方法です。おそらく、#select: 呼び出しを実行して、いくつかの番号を見つけますか?
または、Refactoring Browser を使用します。AST 構造に基づいて検索するための FinderTool などがあります。
編集: mathk が指摘するように、特別なメッセージやインライン メッセージが原因で、senders-of が機能しないことがあります。このトピックに関する vm-dev リストで興味深い議論があります。
システム内の任意のクラス/オブジェクトをイントロスペクトするのに役立つ組み込みツールは、システム ブラウザー、インスペクター、およびオブジェクト エクスプローラーです。Squeak by Exampleの「Squeak での開発」の章を参照してください。そこにある情報は、Pharo に関連しています。
smalltalk には static メソッドのようなものはありません。クラスが何であるかを理解していないことを理解していない場合。