Google Apps Script:
Использование интерактивной оболочки (REPL)
Как это сделать:
Google Apps Script — это облачный скриптовый язык для автоматизации задач в продуктах Google, который не имеет встроенного инструмента REPL, подобного тем, что есть в языках, таких как Python или Node.js JavaScript. Однако вы можете симулировать похожий опыт, используя функции ведения журнала и отладки редактора Apps Script или настроив внешнюю среду. Здесь мы сосредоточимся на создании импровизированной REPL в редакторе Apps Script.
- Создание импровизированной функции REPL:
function myREPL() {
var input = Logger.log('Введите выражение: ');
try {
var result = eval(input);
Logger.log('Результат: ' + result);
} catch(e) {
Logger.log('Ошибка: ' + e.message);
}
}
Поскольку прямой пользовательский ввод в той же мере, как в традиционной REPL, в среде Apps Script невозможен, вы можете вручную изменить переменную input
и запустить myREPL()
, чтобы проверить выражения.
- Выполнение образца кода:
Допустим, вы хотите вычислить 2+2
. Вы должны изменить функцию myREPL
следующим образом:
function myREPL() {
var input = '2+2'; // Вручную введите ваше выражение здесь
// Остальное остается прежним...
}
После запуска myREPL()
проверьте Журналы (Просмотр > Журналы) для вывода, который должен выглядеть примерно так:
[20-xx-xxxx xx:xx:xx:xxx] Введите ваше выражение:
[20-xx-xxxx xx:xx:xx:xxx] Результат: 4
- Отладка с помощью Logger:
Для более сложной отладки вставляйте Logger.log(variable);
в свой код, чтобы печатать состояния переменных и помогать вам понимать поток и промежуточные состояния ваших скриптов.
Глубокое погружение
Концепция REPL глубоко укоренилась в истории вычислений, начиная с систем разделения времени 1960-х годов, которые позволяли проводить интерактивные сессии. Языки, такие как Lisp, процветали в этой среде, поскольку REPL был критически важен для их итеративного процесса разработки. В отличие от этого, Google Apps Script, появившийся гораздо позже, в первую очередь разработан для веба, сосредоточен на автоматизации задач в наборе инструментов Google, а не на итеративном, консольном программировании.
Google Apps Script традиционно не поддерживает реальные интерактивные сессии кодирования “из коробки” из-за его облачной природы и ориентации на развертывание веб-приложений. Его модель выполнения основана на функциях, запускаемых веб-событиями, таймерами или ручным вызовом в среде, а не на мгновенных обратных связях, предоставляемых REPL.
Хотя импровизированный REPL и отладчик в редакторе Apps Script предлагают некоторый уровень интерактивности, они не в полной мере воспроизводят немедленную обратную связь и эффективность традиционных REPL, найденных во многих языках программирования. Разработчики, ищущие более подлинный опыт REPL с технологиями Google, могут изучить внешние среды JavaScript или Node.js с API Google. Это может обеспечить более отзывчивую и интерактивную сессию кодирования, хотя и потребует большей настройки и, возможно, выхода за пределы непосредственной среды Apps Script.