クラスメソッドの定義
インスタンスの内容を文字列で表すtoString()メソッドを定義しよう。クラスメソッドの場合は、リスト3-4に示すように、メソッド名を「クラス名.メソッド名(引数)」で表す。
もうひとつ注目すべきは、startとendの値を表示する際に用いるformat as <
リスト3-4 toString()メソッドの定義
operation Schedule.toString() : String {
return "Schedule [ business = {business}, place = {place}, start = {start format as <>}, end = {end format as <>} ]";
}
出力例
Schedule [ business = 打ち合わせ, place = 会議室, start = 2007/07/10 13:00, end = 2007/07/10 14:00 ]
配列の定義
配列は、全体を[〜]で囲み、カンマ区切りで要素を記述すれば定義できる。数値の範囲を指定する場合は[1..5]のように記述することもできる(定義例を参照)。配列が持つ要素に対してformat as演算子を適用することも可能だ(表示例を参照)。また、配列の要素の数はsizeof演算子、要素の位置はindexof演算子で取得できる(リスト3-5)。
定義例
[ 1, 3, 5 ] ← 数値1,3,5を要素に持つ配列
[ 'abc', 'def' ] ← 文字列'abc'と'def'を要素に持つ配列
[ 'ab', 12, 'cd', 34 ] ← 数値と文字列とが混在した配列
[ 1 .. 3 ] ← [1,2,3]と同じ
[ 3 .. 1 ] ← [3,2,1]と同じ
表示例
println( "{[1000,3000,5000] format as <<%,6d>>}" ); ← 1,000 3,000 5,000と表示される
リスト3-5 sizeof演算子とindexof演算子
var a = ['x','y','z'];
println( "{sizeof a}" ); ← 3
for( i in a ) {
println( "a[{indexof i}] = {i}" ); ← "a[0] = x"など
}
println( a[1].toUpperCase() ); ← Y
これで基本的な構文の説明を終了する。2回にわたって説明したことを踏まえて、最終回となる次回は、より深いJavaFXの世界を堪能しよう。今回紹介したクラス定義やformat asのように、JavaFXには、Javaとは違う構文や演算子がまだまだある。それらを知ってこそ、JavaFXマスターといえるのではないだろうか。