Open Source Web Development Tutorials - Dev Shed
.NET言語、Boo入門
(2008/12/02公開)
プログラム構造と変数
BooはC#やVisual Basic .NETとは異なり、プログラムの開始点として静的なメソッドを持つクラスを宣言する必要がありません。基本的な「Hello World」プログラムは、次のように1行で記述できます。
print "Hello World!"
このprintは、実際にはマクロです。Booユーザーは、独自のマクロを自由に作成し、繰り返しコードの代わりに使用できます。printマクロの使用は、組み込みのprintメソッドを使うのと同じです。
print("Hello World!")
名前空間自体を指定せずにその内容にアクセスするため、importが使用されます。
import System
Console.WriteLine("Hello World!")
Pythonプログラマは注意してください。BooのimportはPythonのものとまったく同じに見えますが、実際には同じではありません。Pythonのimportでは、開発者がPythonモジュールを探してアクセスできますが、Booのimportは単に名前空間のタイプへのショートカットを提供するだけです。このショートカットがない場合、対象のタイプの前に名前空間を指定してアクセスすることになります。BooはPythonと似ていますが、細部まで同じというわけではありません。Pythonユーザーはこの点に注意してください。
次に、Booで変数を定義する方法について説明します。Booは静的な型付けを行う言語なので、変数の型はコンパイル時に決定されます。次に示すのは、各種の型の変数の定義例です。
name as string = "John Doe"
gender as char = char('m')
married as bool = false
age as int = 35
savings as double = 12345.67
各変数に型を明示的に割り当てていることに注意してください。変数の定義時にすぐに初期化を行わない場合など、条件によってはこの割り当てが必須です。ただし、Booでは通常、コンパイル時に割り当て対象を調べるだけで、変数の型を判別できます。
name = "John Doe"
gender = char('m')
married = false
age = 35
savings = 12345.67
Booは静的な型付けを行う言語ですが、duckと呼ばれる特別な型が存在し、duck型がサポートされています。つまり、duckという型の変数は、コンパイル時にエラーを引き起こすことなく、どのような目的にでも使用できます。
x as duck
x = 4
x = "four"
x = false
上に示すコードは、それぞれ変数xに整数値、文字列、Falseを割り当てています。通常は、このようなコードは正常にコンパイルされませんが、Booのduck型では正しくコンパイルされます。ただし、上に示す例はあまり適切ではありません。Xをobject型として宣言しても、同じ結果が得られるためです。そこで、次の例を参照してください。ここでは、特定の型に関連付けられたメソッドを使用しています。
x as duck
x = 4
x = x.MinValue
x = "string"
x = x.Replace("s", "q")
ただし、Booが静的に型付けされる言語であることには変わりなく、duck型は通常使うべきではないことに注意してください。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








