DEV Community

Bruce Axtens
Bruce Axtens

Posted on • Edited on

REP and almost L in Google Apps Script

It's been quite a while since I blogged about computing (I usually blog about baking) but here goes.

Lately I've been climbing a steep learning curve, trying to get my head around Google Apps Script (GAS). Now a few spreadsheets later, I'm on a trajectory that should see me crash-land on Planet Add-On in about a month.

REPL (read-evaluate-print-loop) has been a big thing for a long time with all manner of programming languages. So why not GAS? (Okay, it's more REP than REPL as the looping doesn't happen, but it's close.)

In my Code.gs I have the following (among other things)

function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Debugging') .addItem('REPL', 'REPL') .addToUi(); } 
Enter fullscreen mode Exit fullscreen mode

This adds a custom menu to the menubar and populates it with one entry, namely 'REPL' which, when selected, runs a function called 'REPL'.

function REPL() { var code = Browser.inputBox('code'); if (code !== 'cancel') { Browser.msgBox(eval(code)); } } 
Enter fullscreen mode Exit fullscreen mode

Also in there, for demonstration purposes, is a function that totals the ASCII values of the characters in the parameter string.

function TotalAscii(str) { return str.split("").reduce(function (result, item, index) { return result + item.charCodeAt(0) }, 0) } 
Enter fullscreen mode Exit fullscreen mode

Visually there we are selecting the REPL option from the Debugging menu
entering something to be evaluated and getting a response.

I'd like at some stage to put together an HTML form with a TEXTAREA. Maybe after I crawl out of the crater.

Top comments (0)