• Яма плюс - справочьник - кусок 13.

  • Безымянный 222304

  • // куски справочьника ...

    // ---- Главная процэдура, операцыи и блоки операцый.
    // ----------------- 6

    Процэдура "главный_исток" отличяется от других. У неё особое имя и она в коде
    нигде не можэт быть вызвана, потому-что вызывает её к работе лиш Опер-система компьютера.
    Содержание этой процэдуры всегда размешяется в основном разделе проекта.

    Каждая процэдура делится на две чясти.. заглавие и тело(содержание).

    Заглавие можэт обозначять то, что процэдура используется как функцыя, и в этом случие
    слева печятается "название типажа" значения, возврашяемого из функцыи.
    В любом случие, перед именем процэдуры печятаем ключевое слово "проца", чтобы обозначить
    факт того, что имено здесь (и нигде большэ) будет содержаться вся логика этой проэдуры.
    А справа от названия процэдуры ставим круглые скобки. Правая скобка является
    последним знаком в заглавии процэдур. Внутри этих скобок можно перечислить параметры
    процэдуры, которые можно такжэ называть "ожыдаемые аргументы".

    После круглых скобок, начинается тело процэдуры - левая фигурная скобка (открытие блока)
    и для неё дальшэ обязательно должна быть правая фигурная скобка (закрытие блока).
    Эти фигурные скобки и всё что между ними находится - это является "телом процэдуры".

    Тело процедуры как-бы чертёж и, когда эту процэдуру вызовут где-нибудь, то с этого чертежа
    будет создан станок. "Маркер исполнения програмы" влезает в этот станок и начинает работать.
    Последовательно исполняя операцыи текушего станка, "маркер исполнения" можэт вызывать новые
    процэдуры и для каждой из них будет создан свой станок - старый станок (из которого ушли в новый)
    запоминается и сохраняется до тех пор пока "маркер исполнения" не вернётся снова "сюда-наверх"
    из глубин "здешних под-станков".

    Фигурные скобки такжэ означяют "блок кода" и могут использоваться, чтобы групировать
    выражэния и операцыи внутри процэдур.
    Блоки кода могут внутри себя содержать любое количество блоков кода.

    Операцыя - это некое понятное действие для одного или для двух учястников кода.
    Например, смена знака (-4) или сложэние двух чисел (2 + 5).

    Знак-оператор можэт быть "моно(базовый)" и "стерео(базовый)".
    Моно-оператор это приставка с левой стороны от числа (или от имени подходяшей переменки).
    Стерео-оператор разделяет два числа (или две переменки), вовлекая их в свою операцыю.
    -24 // здесь "минус" является моно-знак-оператором "негатив", формируя отрицательное число.
    34 - 24 // здесь "минус" является стерео-знак-оператором (формируя результат Десять).
    Некоторые ключевые слова имитируют "знак-оператор".

    // В языке "Яма плюс" нет "инкримента" имя++ (инфо для тех кто знает с++).

    Несколько операцый могут быть похожы на одну операцыю, тогда это лучшэ называть "выражэние".
    Икс = (8 + 2 * 5) это пример выражэния - здесь сначяла происходит операцыя умножэния,
    а потом операцыя сложэния результата прошлой операцыи с восьмёркой, затем Икс получяет значение.
    Круглые скобки здесь лишние, потому-что операцыя "получение значения" имеит низкий приоритет
    оперирования и автоматически исполнится последней. Но круглые скобки всегда заставляют
    исполнить операцыю в скобках раньшэ чем другие соседнии операцыи одного выражэния.
    // Таблица приоритетов оперирования это отдельная чясть справочьника.

    Верхний пример выражэния можно записать с использованием "Блока кода" так..
    {
    чи32!! эн = 2 * 5; // Точка-запятая заканчивает выражэние.
    Икс = 8 + эн;
    // Два выражэния обыединим фигурными скобками в единое цэлое.
    }

    Не обязательно размешять фигурные скобки на отдельных строках. Можно открыть
    и закрыть блок { эн = 5; ш = 45; } в одной строке.
    // Визуализацыя кода зависит от опцый редактора кода, поэтому фигурные скобки
    // могут не рисоваться, а вместо них блок кода просто будет обрисован рамочькой.

    Вызов процедуры, для срабатывания внутреностей процедуры, является Выражэнием, но можэт
    принимать учястие в других выражэниях, если эта процэдура оформлена как функцыя и возврашяет
    наверх какое-то значение.
    Для надёжности рекомендуется записывать несколько отдельных выражэний, чем выстраивать
    одно сложное выражэние, которое и читается-то не однозначно.

    Тело процэдуры можэт быть пустым. Сначяла програмист можэт лиш наметить примерный ход работ
    и сделать много пустых описаний процэдур, а потом постепено осмыслено заполнять эти пустышки.

    // ---
    // Нижэ пример того, как можэт выглядеть "основной раздел" и "главная процэдура" проекта.

    #вставка "ЯмаПресет_9_Виндус.txt" --- яп9; // WinApi + OpenGL + остальное

    // В этой строке и в ближних строчках не может быть созданий глобальных "переменок",
    // потому-что для этого есть отдельный раздел, и только там создаются глобалки.

    // Нижэ строка - это заглавие процэдуры. // Это функцыя без ожыдаемых аргументов.
    чи31 проца главный_исток( ) // Строка можэт выглядеть иначе
    { // начяло блока "Тело процэдуры главный_исток"

     п( ! яп9.Создать.окно( 1) ) итог 0., // if( ! an::Create_Wnd( 1) ) return 0;
    // Пусть (когда( обратка результата вызова Создать_окно )тогда) итог вернёт наверх ноль.

    // Если не удалось содать окно програмы, то прерываем исполнение процэдуры словом "итог".
    // А из-за того что это главная процэдура програмы, то мы завершаем работу програмы.

     иница.проги( ); // это выражэние является "вызовом процэдуры".

     // Некоторые названия являются локальными (наш проект), а остальные как-бы из библиотеки.

     // Все горизонтальные двоеточия и точка-запятые считаются такими-жэ как и вертикальные.

     яп9.Весточка!! а; // Создана локальная переменка внутри Главной процэдуры.

     // Далее основной цыкл создаваемой проги.
     яма( ! нужно.закрывать.прогу ) // Строка подобна ленточке старт-финиш.
     {  // Попадаем внутрь блока, если учястник кода "нужно_закрывать_прогу" хранит в себе Ноль.

      вилы
      ( яп9.Поймали.весточку( @ а, 0, 0, 0, #.#.весточку.убрать)  )
      {
      яп9.Обработать.весточку( @ а); // Translate Dispatch
      }
      ( ! активна.прога )
      {
      яп9.Затихнуть( 500)., // Sleep( 500);
      }
      (1) { цыкл1( )., } // внутри "цыкл1" весь наш проект

     } +круг
     // Вышэ был основной цыкл.

     выход_из_проги( );

     яп9.Убить.окно( );

    итог 0;
    } // конец блока "Тело процэдуры главный_исток"

    // Решэние проблем со скобками в русской кодировке..
    Рекомендуется делать редакторы кода в которых твёрдый знак пере-хватывается
    и заменяется скобкой. Двойной твёрдый знак заменяется на "закрываюшие версии скобок".
    Если нужны две скобки в одну сторону, то можно пробелом разделить.

    При первой возможности авто-пом сам добавит скобки там где это для него очевидно.
    Например, печять буквы "п" и пробела сразу выставляет две скобки и каретку внутри них.

    // финиш куска 6
     





































































  • Яма плюс - справочьник - кусок 13.

  • Безымянный 222304