Section 1.2 メソッドを使ってみる

今回は、今の時間を表示するスクリプトを書くんだよね。
ん、そうだよ。
どうやって今の時間を表示するの?
まずは今の時間がわからないといけないから…
今の時間を教えてくれるメソッドを使うの。
めそっど?
…というワケで、まずはメソッドの説明をしとくね。
う、うん。
System.inform』がメッセージボックスを表示してくれる命令ってことはもう解ってるよね?
うん!
実はこれもメソッドなんだ。
え、そうなの?
メソッドっていうのは、メッセージを表示したり、今の時間を教えてくれたり、 色んなことをやってくれる命令っていう感じかな。
へぇ、そうなんだ。
まぁ、厳密にはちょっと違うんだけど、 とりあえず今はそういう便利な命令をメソッドって呼ぶって思っといて。
りょーかい。
で、今の時間を知るためには Date クラスのメソッドを使うの。
でーとクラス…?
えっと、まずクラスってのは……まぁ職業みたいなものって思ってくれればいいかな。
日付や時間の情報を管理するのが Date クラスの仕事って感じかな。
あ、だから Date クラスって名前なんだ。
そ。でね、Date クラスには年、月、日、曜日、時、分、秒を 取得するメソッドがそれぞれあるから、これを使うんだ。
そんなにあるの!?
うん。
まぁ、全部一度に使うとややこしくなるから、とりあえず今何時何分かを表示するスクリプトから書いてみるね。

<今何時何分かを表示するスクリプト>

var d = new Date();
System.inform(d.getHours());    // "時"を表示
System.inform(d.getMinutes());  // "分"を表示

じゃ、これを実行してみて。
うん。

<実行結果>

<最初のメッセージ>
最初に表示されるメッセージボックス

<次のメッセージ>
次に表示されるメッセージボックス

えっと、今 14 時 27 分だから…
うん、ちゃんと最初に 14 が表示されて、次に 27 が表示されてるね。
ん、これでOK。
じゃ、スクリプトの説明をするね。
まずは1行目。

var d = new Date();

これって何やってるの?
えーっとね……これをきちんと説明するのはちょっと大変なんだよね…。
まぁ、簡単に言うと、Date クラスのメソッドが使える d さんに来てもらってるって感じかな。
え? でも System.inform のときはこんな事してないよ?
そうなんだよね。
普通はそのクラスのメソッドが使える誰かを呼んでこなくちゃいけないんだけど、 System クラスはちょっと特別なクラスで、 わざわざこうしなくてもメソッドが使えるんだ。
ふ〜ん…
ちょっとややこしいと思うけど、とりあえず System クラスは例外って思っといて。
うん、わかった。
で、2行目のこのスクリプトで今何時かを表示してるんだ。

System.inform(d.getHours());    // "時"を表示

まず『getHours』っていうのが、今何時かを取得する Date クラスのメソッド。
d.getHours()』って書くことで、 d さんに「getHours メソッドを実行して」って言ってるワケ。
最後の『()』って何なの?
メソッドを実行する時には、メソッド名の後の () の中に書いたデータをそのメソッドに渡せるんだ。
System.inform の場合は、表示したいメッセージを System.inform("メッセージ"); って感じで渡すと、そのメッセージがメッセージボックスに表示されるの。
なるほどね。
今回は今何時か知りたいだけで、メソッドに渡したいデータは何も無いから、() の中には何も書かなくていいんだ。
だったら、() は要らないんじゃない?
それがそうもいかないんだ。
メソッドを実行する時には、この () は省略しちゃダメって決まりがあるから。
あ、そうなんだ…。
で、今が 14 時 27 分だったら、getHours メソッドは、今は 14 時だってことを教えてくれるから、 d.getHours() の部分が 14 に置き換わって…

System.inform(14);

っていうスクリプトと同じことになるんだ。
この後どうなるかは解るでしょ?
うん!
なるほどねぇ、こうやって今の時間が表示されるんだ〜。
これで、3行目のスクリプトも解るよね。

System.inform(d.getMinutes());  // "分"を表示

えっと… getHours が何時かを教えてくれるんだから…
getMinutes っていうメソッドは、何分かを教えてくれるのかな?
ん、そうそう!
それでぇ…今 14 時 27 分だったら、d.getMinutes() の部分が 27 に置き換わるんだから…

System.inform(27);

…ってなるんだよね?
うん、そのとーり!
やったぁ!
ん、これで今回はOKだね。
じゃ次回は変数について。
…と言いつつ実は今回すでに変数を使ってるんだけどね。
えっ、そうなの?
ま、詳しいことはまた次回ね。
はーい!


前へ | TOP | 次へ