dlang-book/03-инструкция
Alexander Zhirov 371a379eb6 3.1 2023-01-23 17:31:56 +03:00
..
README.md 3.1 2023-01-23 17:31:56 +03:00

README.md

3. Инструкции

  • 3.1. Инструкция-выражение
  • 3.2. Составная инструкция
  • 3.3. Инструкция if
  • 3.4. Инструкция static if
  • 3.5. Инструкция switch
  • 3.6. Инструкция final switch
  • 3.7. Циклы
    • 3.7.1. Инструкция while (цикл с предусловием)
    • 3.7.2. Инструкция do-while (цикл с постусловием)
    • 3.7.3. Инструкция for (цикл со счетчиком)
    • 3.7.4. Инструкция foreach (цикл просмотра)
    • 3.7.5. Цикл просмотра для работы с массивами
    • 3.7.6. Инструкции continue и break
  • 3.8. Инструкция goto (безусловный переход)
  • 3.9. Инструкция with
  • 3.10. Инструкция return
  • 3.11. Обработка исключительных ситуаций
  • 3.12. Инструкция mixin
  • 3.13. Инструкция scope
  • 3.14. Инструкция synchronized
  • 3.15. Конструкция asm
  • 3.16. Итоги и справочник

Эта глава содержит обязательные определения всех инструкций языка D. D наследует внешний вид и функциональность языков семейства C в нем есть привычные инструкции if, while, for и другие. Наряду с этим D предлагает ряд новых интересных инструкций и некоторое усовершенствование старых. Если неизбежное перечисление с подробным описанием каждой инструкции заранее нагоняет на вас скуку, то вот вам несколько «отступлений» любопытных отличий D от других языков.

Если вы желаете во время компиляции проверять какие-то условия, то вас, скорее всего, заинтересует инструкция static if (см. раздел 3.4). Ее возможности гораздо шире, чем просто настройка набора флагов; тем, кто каким-либо образом использует обобщенный код, static if принесет ощутимую пользу. Инструкция switch (см. раздел 3.5) выглядит и действует в основном так же, как и ее тезка из языка C, но оперирует также строками, позволяя одновременно сопоставлять целые диапазоны. Для корректной обработки небольших конечных множеств значений пригодится инструкция final switch (см. разд. 3.6), которая работает с перечисляемыми типами и заставит вас реализовать обработчик абсолютно для каждого возможного значения. Инструкция foreach (см. разделы 3.7.4 и 3.7.5) помогает организовывать последовательные итерации; классическая инструкция for предоставляет больше возможностей, но и более многословна. Инструкция mixin (см. раздел 3.12) вставляет заранее определенный шаблонный код. Инструкция scope (см. раздел 3.13) значительно облегчает написание корректного безотказного кода с правильной обработкой ошибок, заменяя сумбурную конструкцию try/catch/finally, которой иначе вам пришлось бы воспользоваться.

В начало ⮍

3.1. Инструкция-выражение

Как уже говорилось (см. раздел 1.2), достаточно в конце выражения поставить точку с запятой, чтобы получить инструкцию:

a = b + c;
transmogrify(a + b);

При этом не любое выражение можно превратить в инструкцию. Если инструкция, которая должна получиться, не выполняет никакого действия, например:

1 + 1 == 2; // Абсолютная истина

то компилятор диагностирует ошибку.

В начало ⮍ Наверх ⮍