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
名前や他の箇所から。

