Фишка haXe, основанная на блоках

Фишка, основанная на блоках. Приведу пример.

Например мне нужен класс, в котором будет содержаться массив 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.

Комментарии

А еще есть

А еще есть волшебный метод __init__
И по-хорошему эмулировать множество методов main лучше через этот метод.

Честно говоря -

Честно говоря - не знал :-(
Спасибо!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.