こんにちは。 Finder を使って
情報をみつける方法をお見せします。
Finder は Tools メニューにあります。
ここです。Finder。
match というメソッドを探している としましょう。
名前を書きます。match。
ここでは Selectors を選択します。
これで、match という単語を含む
全てのメソッドを見ることができます。
大きなフォントを設定しているので
少し大きさを変えましょう。
小さな三角形がついているのは
そのメソッドがいくつかのクラスで
定義されているということです。 そういうことを読み取ることができます。
メソッドを探してみたわけですが たくさんあります。
こうやって探すことはできますが 理想的ではありません。
match を含むクラスを探すと
こうして見ることができます。
コードブラウザで ブラウズするのもいいですが
ここではもっと良い方法があります。
何を探しているかは分かっているが
それをどう表現すれば良いかわからない ことがよくあります。
そこでここでは こんなメソッドがないか知りたいのです。
ab と
abcdをマッチングするメソッドが。 例えば、ab*abcd と書きます。
そしてもし何かマッチしたら true を返す。
そして、Examples を選ぶと trueを返す
全てのメソッドが得られます。
どういうことか これから説明します。
ここで「大なり」も該当することが わかります。
ああ、match というのは興味深いですね。
システムは私に
matchメソッドを定義している 全てのクラスを見せてくれます。
特に星印がついているものは
trueを返したメソッドを持つ クラスです。
それでは 別の例題を試してみましょう。
例えば、11 と 2 が与えられて
5 を返すメソッド。 すると手にするのは
// です。 そしてどれが true を返したか
わかります。 Integerに定義されたものです。
そこでこのメソッドかまたは このメソッドです。
同じようにやっていきます。
5.5が欲しいとします。 すると、割り算だけが該当します。
とても便利です。
もう1つの方法もあります。
プラグマ(Pragma)を探すことができます。
プラグマはシステム中の 注釈(annotation)です。
注釈を探すと
例えばこれです。
このメソッドは Menu という名前のプラグマで
注釈されています。 システムはそれを探すことで
メニューを組み立てることができます。 ここで Menu と入力して
プラグマ(Pragma)を選択すると システム中にある
menuという単語を含む全てのプラグマに アクセスすることができます。
ここでは例えば2つのプラグマが見えます。
worldMenu は ここで表示されるメニューですが
プラグマのメニューで定義されています。
worldMenuが見えますね。
例えば screenShotCommand HelpOn
これらのメニューを 見ることができます。
さらに Finder を使って
Menu という文字列を含む
メソッドを探すことができます。 どこでも。
ちょっとやってみます。 時間が少々かかります。
何が起こっているかというと システムが本当に全てのメソッドの
本体の全てをスキャンしています。
Pharo には 80,000 個ちょっとあります。 そして結果を表示します。
つまりこれは本当にテキスト検索を しているのです。
面白いのは
メニューや何かグラフィカルなものを 見つけることができることです。
つまりここで メニューについて
ある単語を含む全てのメソッドを 見つけることができます。
名前や他の箇所から。