Документация Engee

Редактор скриптов

Скрипт (или интерактивный скрипт) — это файл, содержащий несколько последовательно выполняющихся команд.

Работа со скриптами в Engee осуществляется в окне редактора скриптов. Чтобы открыть редактор, нажмите иконку:

img36a

Работа со скриптами

Создание скрипта

Чтобы создать скрипт, нажмите на иконку + в редакторе скриптов и введите желаемое имя:

img36c

Вы можете создать скрипт с помощью файлового браузера. Кликните правой кнопкой мыши в пустом поле окна файлов для вызова контекстного меню. В меню выберите Создать и Скрипт:

script saving

По умолчанию скрипты Engee имеют формат ngscript, однако вы можете работать и с форматом ipynb:

ipynb — универсальный формат написания скриптов. Редактор скриптов поддерживает рефакторинг и запуск скриптов в этом формате.

Открытие существующего скрипта

Чтобы открыть скрипт в редакторе, зайдите в окне файлов, найдите нужный скрипт и двойным нажатием левой кнопкой мыши кликните по нему:

img36b

Секции редактора скриптов

В редакторе скриптов можно создать кодовую или текстовую ячейку.

Подробнее о разметке в текстовой ячейке читайте здесь.

Подведите указатель мыши к верхней кромке окна редактора скриптов. Появятся кнопки выбора новой ячейки:

  • + Код — создает новую секцию с кодом. В этой секции вам доступны все возможности написания кода на языке программирования Engee.

  • + Текст — создает новую секцию с текстом. В этой секции вы можете добавлять и форматировать любое описание, картинки, таблицы, ссылки и т.д.

script editor 1

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

Секция с кодом

Создадим секцию с кодом и рассмотрим ее интерфейс:

img52

  1. Выполнить и перейти — выполняет код в данной секции.

  2. Выполнить до конца — выполняет все секции с кодом ниже выбранной секции.

  3. Выполнить до ячейки — выполняет все секции с кодом выше выбранной секции.

  4. Поменять положение результата работы кода — выбирает позицию для вывода. Имеет два варианта:

    • Вывод результата справа — выводит результат справа для конкретной секции.

    • Спрятать вывод результата — прячет выбор результата для конкретной секции.

  5. Переместить ниже — перемещает секцию на одну вниз.

  6. Переместить выше — перемещает секцию на одну вверх.

  7. Копировать — копирует секцию.

  8. Вставить — вставляет секцию.

  9. Удалить — удаляет секцию.

Несколько примеров секций кода с базовыми конструкциями Julia представлены в статье Базовые конструкции.

Секция с текстом

Создадим секцию с текстом:

img44

Дважды кликнем по секции для открытия поля ввода, теперь вы можете вводить нужный текст в появившейся ячейке. Для форматирования текста используется язык разметки Markdown и LaTeX.

Рассмотрим интерфейс секции:

text interface script

  1. Полужирный — выделяет текст полужирным шрифтом.

  2. Курсив — делает выделенный текст курсивом.

  3. Зачеркнутый — зачеркивает выделенный текст.

  4. Показать/скрыть заголовок — добавляет заголовок с помощью знака решетки # или удаляет его.

  5. Добавить маркированный список — добавляет два пункта маркированного списка.

  6. Добавить нумерованный список — добавляет два пункта нумерованного списка.

  7. Вставить таблицу — добавляет таблицу. Таблица может быть отредактирована в поле ввода секции.

  8. Вставить цитату — вставляет шаблон для цитаты.

  9. Вставить ссылку — вставляет шаблон для ссылки.

  10. Вставить секцию с кодом — вставляет шаблон для кода. Данный код не может быть выполнен, поскольку не задан в секции с кодом и служит только для визуального восприятия.

  11. Вставить картинку — открывает файловую систему вашего компьютера для выбора изображений.

  12. Вставить горизонтальную линию — вставляет горизонтальную разделительную линию.

Аналогично секциям кода в текстовых ячейках использует следующие команды: перемещение, копирование, вставка и удаление.

Запуск/остановка скриптов

Для запуска или остановки скрипта нажмите кнопку Пуск или Стоп. Кнопки находятся на панели запуска скрипта:

img53

Чтобы запустить секцию с кодом, нажмите на кнопку Выполнить. Результат отобразится ниже под секцией:

img49

Вы можете свернуть вывод исполнения кода в более компактную форму в случае, если он занимает слишком много места. Для этого воспользуйтесь кнопкой "Ограничить вывод colapse button":

rn 2024 vo 7

Чтобы вернуть вывод в прежнее состояние используйте кнопку "Раскрыть вывод colapse button 2".

Чтобы очистить результаты выполнения секций с кодом в скрипте, нажмите на иконку Очистить результаты на панели запуска скрипта.

img62

Сохранение скрипта

Чтобы сохранить скрипт, нажмите иконку Сохранить на панели запуска скрипта.

img5a

Если вы планируете открывать скрипты, написанные в Engee, в сторонних системах (например, Jupyter), то нужно переименовать сохраненный скрипт в файл с расширением .ipynb при помощи файлового браузера Engee.

img5 1

Если изменить расширение файла вне среды Engee, то такой файл не будет открываться.

Методы программного управления

Вы можете управлять скриптами с помощью публичных методов engee.script. Эти команды предназначены для работы с файлами скриптов и вызываются через engee.script. Рассмотрим каждый из этих методов:

@include — включает (встраивает) код скрипта вместо вызова макроса.

Например, у нас есть скрипт с именем new.ngscript, в котором написан код — a = 1. Создадим другой скрипт new_1.ngscript, в котором обратимся к первому по абсолютному пути через @include:

engee.script.@include("/user/new.ngscript")

Результат выполнения кода первого скрипта a = 1 будет включен во второй скрипт и будет равен 1.

Команда @include и встраиваемый им код не должны находиться в одном скрипте. В ином случае возникнет ошибка циклической зависимости, когда @include должен вызвать сам себя.
edit — открывает скрипт на редактирование.

Открывает скрипт для редактирования по указанному пути. Если файла скрипта нет, то он создается автоматически.

engee.script.edit("/user/new.ngscript")
Если указано расширение иное от .ngscript, то выведет ошибку ErrorException("path should end with.ngscriptextension").
extract_code — извлекает код по указанному пути.

Извлекает код из скрипта по указанному пути. Например, для скрипта new.ngscript с кодом a = 1:

engee.script.extract_code("/user/new.ngscript")

Вывод:

:($(Expr(:toplevel, :(#= none:1 =#), :(a = 1))))

Подробнее о других публичных методах, применяемых в скриптах, читайте в статье Программное управление моделированием