WEBVTT

00:00:02.480 --> 00:00:04.160 align:middle
こんにちは。
Finder を使って

00:00:04.327 --> 00:00:05.690 align:middle
情報をみつける方法をお見せします。

00:00:06.110 --> 00:00:08.010 align:middle
Finder は Tools メニューにあります。

00:00:08.177 --> 00:00:09.550 align:middle
ここです。Finder。

00:00:10.890 --> 00:00:14.470 align:middle
match というメソッドを探している
としましょう。

00:00:14.637 --> 00:00:16.750 align:middle
名前を書きます。match。

00:00:18.640 --> 00:00:20.160 align:middle
ここでは Selectors を選択します。

00:00:21.270 --> 00:00:23.060 align:middle
これで、match という単語を含む

00:00:23.227 --> 00:00:28.000 align:middle
全てのメソッドを見ることができます。

00:00:28.157 --> 00:00:30.680 align:middle
大きなフォントを設定しているので

00:00:30.847 --> 00:00:33.470 align:middle
少し大きさを変えましょう。

00:00:33.960 --> 00:00:36.460 align:middle
小さな三角形がついているのは

00:00:36.627 --> 00:00:38.300 align:middle
そのメソッドがいくつかのクラスで

00:00:38.467 --> 00:00:41.930 align:middle
定義されているということです。
そういうことを読み取ることができます。

00:00:43.350 --> 00:00:45.450 align:middle
メソッドを探してみたわけですが
たくさんあります。

00:00:46.260 --> 00:00:48.280 align:middle
こうやって探すことはできますが
理想的ではありません。

00:00:50.250 --> 00:00:52.000 align:middle
match を含むクラスを探すと

00:00:52.480 --> 00:00:57.000 align:middle
こうして見ることができます。

00:00:59.000 --> 00:01:02.230 align:middle
コードブラウザで
ブラウズするのもいいですが

00:01:03.670 --> 00:01:04.880 align:middle
ここではもっと良い方法があります。

00:01:05.150 --> 00:01:07.240 align:middle
何を探しているかは分かっているが

00:01:07.407 --> 00:01:08.410 align:middle
それをどう表現すれば良いかわからない
ことがよくあります。

00:01:09.260 --> 00:01:11.390 align:middle
そこでここでは
こんなメソッドがないか知りたいのです。

00:01:11.557 --> 00:01:16.520 align:middle
ab と

00:01:16.810 --> 00:01:20.380 align:middle
abcdをマッチングするメソッドが。
例えば、ab*abcd と書きます。

00:01:21.790 --> 00:01:23.360 align:middle
そしてもし何かマッチしたら true を返す。

00:01:25.060 --> 00:01:29.710 align:middle
そして、Examples を選ぶと
trueを返す

00:01:29.877 --> 00:01:33.270 align:middle
全てのメソッドが得られます。

00:01:33.640 --> 00:01:34.850 align:middle
どういうことか
これから説明します。

00:01:35.130 --> 00:01:36.790 align:middle
ここで「大なり」も該当することが
わかります。

00:01:36.957 --> 00:01:38.380 align:middle
ああ、match というのは興味深いですね。

00:01:40.250 --> 00:01:42.510 align:middle
システムは私に

00:01:42.677 --> 00:01:45.230 align:middle
matchメソッドを定義している
全てのクラスを見せてくれます。

00:01:45.397 --> 00:01:47.630 align:middle
特に星印がついているものは

00:01:47.797 --> 00:01:49.200 align:middle
trueを返したメソッドを持つ
クラスです。

00:01:50.150 --> 00:01:53.080 align:middle
それでは
別の例題を試してみましょう。

00:01:53.247 --> 00:01:56.000 align:middle
例えば、11 と 2 が与えられて

00:01:56.167 --> 00:01:59.810 align:middle
5 を返すメソッド。
すると手にするのは

00:02:01.440 --> 00:02:06.300 align:middle
// です。
そしてどれが true を返したか

00:02:06.467 --> 00:02:08.930 align:middle
わかります。
Integerに定義されたものです。

00:02:09.097 --> 00:02:11.750 align:middle
そこでこのメソッドかまたは
このメソッドです。

00:02:13.820 --> 00:02:15.820 align:middle
同じようにやっていきます。

00:02:16.000 --> 00:02:19.100 align:middle
5.5が欲しいとします。
すると、割り算だけが該当します。

00:02:19.420 --> 00:02:20.390 align:middle
とても便利です。

00:02:21.700 --> 00:02:23.350 align:middle
もう1つの方法もあります。

00:02:23.517 --> 00:02:26.910 align:middle
プラグマ(Pragma)を探すことができます。

00:02:27.077 --> 00:02:30.040 align:middle
プラグマはシステム中の
注釈(annotation)です。

00:02:31.530 --> 00:02:33.210 align:middle
注釈を探すと

00:02:33.377 --> 00:02:34.920 align:middle
例えばこれです。

00:02:35.400 --> 00:02:38.910 align:middle
このメソッドは
Menu という名前のプラグマで

00:02:39.077 --> 00:02:41.460 align:middle
注釈されています。
システムはそれを探すことで

00:02:41.627 --> 00:02:44.780 align:middle
メニューを組み立てることができます。
ここで Menu と入力して

00:02:44.947 --> 00:02:49.890 align:middle
プラグマ(Pragma)を選択すると
システム中にある

00:02:50.057 --> 00:02:52.910 align:middle
menuという単語を含む全てのプラグマに
アクセスすることができます。

00:02:55.600 --> 00:02:57.320 align:middle
ここでは例えば2つのプラグマが見えます。

00:02:58.820 --> 00:03:02.400 align:middle
worldMenu は
ここで表示されるメニューですが

00:03:02.567 --> 00:03:07.420 align:middle
プラグマのメニューで定義されています。

00:03:07.587 --> 00:03:10.670 align:middle
worldMenuが見えますね。

00:03:12.850 --> 00:03:17.000 align:middle
例えば screenShotCommand
HelpOn

00:03:17.137 --> 00:03:19.520 align:middle
これらのメニューを
見ることができます。

00:03:22.000 --> 00:03:25.200 align:middle
さらに Finder を使って

00:03:25.690 --> 00:03:28.490 align:middle
Menu という文字列を含む

00:03:28.657 --> 00:03:33.000 align:middle
メソッドを探すことができます。
どこでも。

00:03:33.167 --> 00:03:36.340 align:middle
ちょっとやってみます。
時間が少々かかります。

00:03:37.150 --> 00:03:39.650 align:middle
何が起こっているかというと
システムが本当に全てのメソッドの

00:03:39.817 --> 00:03:41.230 align:middle
本体の全てをスキャンしています。

00:03:41.397 --> 00:03:45.320 align:middle
Pharo には 80,000 個ちょっとあります。
そして結果を表示します。

00:03:46.880 --> 00:03:48.500 align:middle
つまりこれは本当にテキスト検索を
しているのです。

00:03:50.700 --> 00:03:52.260 align:middle
面白いのは

00:03:52.427 --> 00:03:54.600 align:middle
メニューや何かグラフィカルなものを
見つけることができることです。

00:03:55.420 --> 00:03:58.900 align:middle
つまりここで
メニューについて

00:03:59.067 --> 00:04:03.300 align:middle
ある単語を含む全てのメソッドを
見つけることができます。

00:04:03.467 --> 00:04:07.080 align:middle
名前や他の箇所から。


