4.1 変数
第1章で論じたように、var鍵語は、新たな変数をプログラムに導入するために用いられる。変数の型は、それを宣言する際に指定してもよいが、そうするか否かは自由である。変数の型が宣言から省略されると、その用いられ方から型が推測される。
変数宣言は、次の形式を取る。
var 変数名 : 型 = 初期化子;
例:
var num = 1; // 推測された型
var num : Number = 2;
var firstName = "John"; // 推測された型
var lastName : String = "Doe";
変数命名法の慣例は、Java™プログラミング言語に見られるものと同様である。クラス名は、各単語の最初の文字を大文字にする(MyClass)。関数名は小文字で始まるが、後に続く各単語の最初の文字は大文字にする(myFunctionName)。定数は、下線文字で区切られた単語により、すべて大文字で表されなければならない(MY_CONSTANT)。
フランス引用符<<>>で囲まれた(空白文字を含む)いかなる文字列も、識別子として扱われる。これにより、JavaFX™台本型プログラミング言語の鍵語(または、他の、通常は不正な識別子)を、クラス、変数、関数、または属性の名前として用いることができる。
例:
var <<delete>> = 100;
これは、JavaFX台本型プログラミング言語の鍵語と同じ名前の(Javaプログラミング言語で書かれた)操作を呼び出すことも可能にしている。
import javax.swing.JTextArea;
var textArea = new JTextArea();
textArea.<<insert>>("Hello", 0);
変数の存続期間は、少なくともそれを含むコード区画の存続期間と同じである。
4.2 基本データ型
JavaFX台本型プログラミング言語では、原始型(プリミティブ型)という用語は使わない。代わりに、5つの基本データ型を定義しており、応用コードで常に利用することができる。
5つの基本データ型は、次のようにJavaプログラミング言語に対応付けられる。
表4.1 基本型
JavaFX台本型プログラミング言語 Javaプログラミング言語
String java.lang.String
Boolean java.lang.Boolean
Number java.lang.Number
Integer byte,short,int,long,BigInteger
Duration 該当なし
最初の4つの型は、Javaプログラミング言語でもしばしば使われるので、ほとんどの開発者には既におなじみであろう。しかし、Duration型はこれまでになく、JavaFX台本型プログラミング言語に特有のものである。javafx.lang.Durationクラスは、時間の単位(ミリ秒、秒、分、または時間)を表す。Durationクラスを実体化するための簡略表現である、時間直定数も支援している。
5ms; // 5ミリ秒
10s; // 10秒
30m; // 30分
1h; // 1時間
整数を表す型については、Javaプログラミング言語で書かれた操作と引数または戻り値を受け渡すときに、自動的に強制型変換が行われる。
文字列に関しては、一重引用符または二重引用符を用いて文字列直定数を指定することができる。
var s1 = 'Hello';
var s2 = "Hello";
その違いは、後者(二重引用符)を用いると、中括弧({})の中に式を埋め込むことができることにある。
var name = 'Joe';
var s = "Hello {name}"; // s = 'Hello Joe'
中括弧を用いると、一括変換器は、埋め込まれた式に対する型を推測し、文字列へ強制型変換することができる。
埋め込まれた式自体が引用符で囲まれた文字列を含むことができるので、次々に、さらなる埋め込み式を含むことができる。
var answer = true;
var s = "The answer is {if (answer) "Yes" else "No"}"; // s = 'The answer is Yes'
Javaプログラミング言語と異なり、JavaFX台本型プログラミング言語の二重引用符付き文字列は、改行文字を含むことができる。
付加的な書式設定接頭辞を与えることにより、数値とデータがどのように文字列に変換されるかについても制御することができる。そうした接頭辞は、java.util.Formatterの仕様に従う。
import java.util.Date;
var hexStr = "hex of 13 is 0x{%02X 13}"; // hexStr = "hex of 13 is 0x0D"
var date = new Date(107, 10, 11);
var dateStr = "{%tc date}"; // dateStr = "日 11 11 00:00:00 JST 2007"
訳注:原文では、「var dateStr = "{%tc date}";」文末のセミコロン(;)が抜け落ちている。また、日本では、日付は上記コメントの書式で表示される。
0 件のコメント:
コメントを投稿