1 00:00:02,480 --> 00:00:04,160 こんにちは。 Finder を使って 2 00:00:04,327 --> 00:00:05,690 情報をみつける方法をお見せします。 3 00:00:06,110 --> 00:00:08,010 Finder は Tools メニューにあります。 4 00:00:08,177 --> 00:00:09,550 ここです。Finder。 5 00:00:10,890 --> 00:00:14,470 match というメソッドを探している としましょう。 6 00:00:14,637 --> 00:00:16,750 名前を書きます。match。 7 00:00:18,640 --> 00:00:20,160 ここでは Selectors を選択します。 8 00:00:21,270 --> 00:00:23,060 これで、match という単語を含む 9 00:00:23,227 --> 00:00:28,000 全てのメソッドを見ることができます。 10 00:00:28,157 --> 00:00:30,680 大きなフォントを設定しているので 11 00:00:30,847 --> 00:00:33,470 少し大きさを変えましょう。 12 00:00:33,960 --> 00:00:36,460 小さな三角形がついているのは 13 00:00:36,627 --> 00:00:38,300 そのメソッドがいくつかのクラスで 14 00:00:38,467 --> 00:00:41,930 定義されているということです。 そういうことを読み取ることができます。 15 00:00:43,350 --> 00:00:45,450 メソッドを探してみたわけですが たくさんあります。 16 00:00:46,260 --> 00:00:48,280 こうやって探すことはできますが 理想的ではありません。 17 00:00:50,250 --> 00:00:52,000 match を含むクラスを探すと 18 00:00:52,480 --> 00:00:57,000 こうして見ることができます。 19 00:00:59,000 --> 00:01:02,230 コードブラウザで ブラウズするのもいいですが 20 00:01:03,670 --> 00:01:04,880 ここではもっと良い方法があります。 21 00:01:05,150 --> 00:01:07,240 何を探しているかは分かっているが 22 00:01:07,407 --> 00:01:08,410 それをどう表現すれば良いかわからない ことがよくあります。 23 00:01:09,260 --> 00:01:11,390 そこでここでは こんなメソッドがないか知りたいのです。 24 00:01:11,557 --> 00:01:16,520 ab と 25 00:01:16,810 --> 00:01:20,380 abcdをマッチングするメソッドが。 例えば、ab*abcd と書きます。 26 00:01:21,790 --> 00:01:23,360 そしてもし何かマッチしたら true を返す。 27 00:01:25,060 --> 00:01:29,710 そして、Examples を選ぶと trueを返す 28 00:01:29,877 --> 00:01:33,270 全てのメソッドが得られます。 29 00:01:33,640 --> 00:01:34,850 どういうことか これから説明します。 30 00:01:35,130 --> 00:01:36,790 ここで「大なり」も該当することが わかります。 31 00:01:36,957 --> 00:01:38,380 ああ、match というのは興味深いですね。 32 00:01:40,250 --> 00:01:42,510 システムは私に 33 00:01:42,677 --> 00:01:45,230 matchメソッドを定義している 全てのクラスを見せてくれます。 34 00:01:45,397 --> 00:01:47,630 特に星印がついているものは 35 00:01:47,797 --> 00:01:49,200 trueを返したメソッドを持つ クラスです。 36 00:01:50,150 --> 00:01:53,080 それでは 別の例題を試してみましょう。 37 00:01:53,247 --> 00:01:56,000 例えば、11 と 2 が与えられて 38 00:01:56,167 --> 00:01:59,810 5 を返すメソッド。 すると手にするのは 39 00:02:01,440 --> 00:02:06,300 // です。 そしてどれが true を返したか 40 00:02:06,467 --> 00:02:08,930 わかります。 Integerに定義されたものです。 41 00:02:09,097 --> 00:02:11,750 そこでこのメソッドかまたは このメソッドです。 42 00:02:13,820 --> 00:02:15,820 同じようにやっていきます。 43 00:02:16,000 --> 00:02:19,100 5.5が欲しいとします。 すると、割り算だけが該当します。 44 00:02:19,420 --> 00:02:20,390 とても便利です。 45 00:02:21,700 --> 00:02:23,350 もう1つの方法もあります。 46 00:02:23,517 --> 00:02:26,910 プラグマ(Pragma)を探すことができます。 47 00:02:27,077 --> 00:02:30,040 プラグマはシステム中の 注釈(annotation)です。 48 00:02:31,530 --> 00:02:33,210 注釈を探すと 49 00:02:33,377 --> 00:02:34,920 例えばこれです。 50 00:02:35,400 --> 00:02:38,910 このメソッドは Menu という名前のプラグマで 51 00:02:39,077 --> 00:02:41,460 注釈されています。 システムはそれを探すことで 52 00:02:41,627 --> 00:02:44,780 メニューを組み立てることができます。 ここで Menu と入力して 53 00:02:44,947 --> 00:02:49,890 プラグマ(Pragma)を選択すると システム中にある 54 00:02:50,057 --> 00:02:52,910 menuという単語を含む全てのプラグマに アクセスすることができます。 55 00:02:55,600 --> 00:02:57,320 ここでは例えば2つのプラグマが見えます。 56 00:02:58,820 --> 00:03:02,400 worldMenu は ここで表示されるメニューですが 57 00:03:02,567 --> 00:03:07,420 プラグマのメニューで定義されています。 58 00:03:07,587 --> 00:03:10,670 worldMenuが見えますね。 59 00:03:12,850 --> 00:03:17,000 例えば screenShotCommand HelpOn 60 00:03:17,137 --> 00:03:19,520 これらのメニューを 見ることができます。 61 00:03:22,000 --> 00:03:25,200 さらに Finder を使って 62 00:03:25,690 --> 00:03:28,490 Menu という文字列を含む 63 00:03:28,657 --> 00:03:33,000 メソッドを探すことができます。 どこでも。 64 00:03:33,167 --> 00:03:36,340 ちょっとやってみます。 時間が少々かかります。 65 00:03:37,150 --> 00:03:39,650 何が起こっているかというと システムが本当に全てのメソッドの 66 00:03:39,817 --> 00:03:41,230 本体の全てをスキャンしています。 67 00:03:41,397 --> 00:03:45,320 Pharo には 80,000 個ちょっとあります。 そして結果を表示します。 68 00:03:46,880 --> 00:03:48,500 つまりこれは本当にテキスト検索を しているのです。 69 00:03:50,700 --> 00:03:52,260 面白いのは 70 00:03:52,427 --> 00:03:54,600 メニューや何かグラフィカルなものを 見つけることができることです。 71 00:03:55,420 --> 00:03:58,900 つまりここで メニューについて 72 00:03:59,067 --> 00:04:03,300 ある単語を含む全てのメソッドを 見つけることができます。 73 00:04:03,467 --> 00:04:07,080 名前や他の箇所から。