Фишка, основанная на блоках. Приведу пример.
Например мне нужен класс, в котором будет содержаться массив 10x10 из произвольных Int-ов в диапазоне 0...9. И мне всё равно как он устроен внутри. Никаких лишних функций вроде Array10x10.setup() вызывать я не хочу. Я делаю так:
class Array10x10
{
static public var data:Array<Array<Int>>;
static var setup =
{
data = new Array<Array<Int>>();
for (i in 0...10)
{
data[i] = new Array<Int>();
for (j in 0...10)
data[i][j] = Std.random(10);
}
}
}
class Main
{
static function main()
{
for (i in Array10x10.data) trace(i);
}
}
Внутри такого
setup-а можно выполнять любые инструкции. И этот
setup не нужно запускать из Main.
Можно сказать, что таким образом мы можем создать множество функций, работающих как
main.