vala のスコープなど

最初から飛ばしすぎて大変になりそうなので、少しずつ進めていきます。

P54のスコープは、vala も同じなので省略します。P55の型変換は、2010-09-21に(ushort)の例があるので省略します。

P58のenumからスタート。

// enum01.vala

class enum01
{
	enum MyMonth
	{
		Jan = 1, Feb, Mar, Apr, May, Jun, Jul,
		Aug, Sep, Oct, Nov, Dec
	}

	public static void main ()
	{
		stdout.printf ("Aprは%d月\n", (int)MyMonth.Apr);
		stdout.printf ("Mayは%d月\n", (int)MyMonth.May);
	}
}

実行結果は以下のとおりです。

$ ./enum01 
Aprは4月
Mayは5月

P58のコードと大きく違うのは、 enum の最後にセミコロンが無いところです。http://www.vala-project.org/doc/vala/enums.html を参照してください。

次は、オブジェクト型とボックス化です。しかし、残念ながら vala の Object (GLib.Object) に uint8 などを直接代入することはできないみたいです。とりあえず、ボックス アンボックスは今のところできないみたいです。

できないことばかりなので、今日はここまで。