Песочница

Если вы хотите дать возможность третьим лицам запускать скрипты Gentee на вашем компьютере, то используйте при запуске скриптов режим Playground. Этот режим удобен для запуска скриптов в демонстрационных или учебных целях и защищает данные на компьютере от случайного или намеренного ущерба. Для включения этого режима укажите поле IsPlayground как true в структуре Settings при запуске скрипта с помощью функции Run. Кроме этого, рекомендуется уменьшить параметры Cycle и Depth для установки ограничений на потребляемые ресурсы.

Работа скриптов в режиме Playground имеет следующие ограничения:

  • Процессы. Отключены запуски любых процессов, включая открытие файлов в соответствующих приложениях. То есть функции Open, OpenWith,Run, Start работать не будут. Также не работает команда $.

  • Файловая система. Запись и чтение файлов может происходить только в директории, которая указана в настройках Playground. Если она не указана, то создаётся поддиректория во временной директории. Эта директория становится текущей при запуске скрипта. Кроме этого, имеются ограничения на:

    • общее количество файлов (по умолчанию, 100).

    • суммарный размер файлов (по умолчанию, 10 MB).

    • максимальный размер файла (по умолчанию, 5 MB).

  • Сеть. Отключена функция HTTPRequest. Вызов функций Download, HTTPGet, HTTPPage виртуально добавляет файл с соответствущим размером в директорию для записи. Таким образом, на эти функции также действуют ограничения файловой системы.

Если в процессе работы скрипта возникнет ошибка из-за ограничений режима Playground, то скрипт прекратит свою работу. В этом случае, текст ошибки будет начинаться с [Playground].

run {
$ echo "ooops"
}
// ERROR: [2:5] [Playground] starting any processes is disabled
run {
AppendFile("../out.txt", "this is a test message")
}
// ERROR: [2:5] [Playground] access denied [../out.txt]
run {
for i in 1..110 {
CreateFile(`%{i}.txt`, false)
}
}
// ERROR: [3:9] [Playground] file limit reached [100]