Курс языка программирования Raku / Продвинутый уровень / Порядок выполнения / Фазеры / Exercises / Сначала BEGIN

Решение: Сначала BEGIN

Вот возможное решение задачи.

Код

my $compiled = BEGIN { 2 + 3 };

say $compiled;

🦋 Найдите программу в файле begin-first.raku.

Вывод

5

Комментарии

  1. BEGIN { 2 + 3 } выполняется во время компиляции и возвращает 5. Будучи использованным как выражение, блок BEGIN передаёт своё значение, которое присваивается переменной $compiled.

  2. Вычисление происходит только один раз, на этапе компиляции; к моменту выполнения $compiled просто содержит константу 5. Именно так BEGIN используется для предварительного вычисления значений, а не только для раннего вывода.

Навигация по курсу

Сначала BEGIN   |   Порядок END