Google Apps Script:
Interaktiivisen kuoren (REPL) käyttö

Miten:

Google Apps Script, pilvipohjainen skriptikieli Google-tuotteiden tehtävien automatisointiin, ei sisällä sisäänrakennettua REPL-työkalua, kuten esimerkiksi kielissä Python tai JavaScriptin Node.js. Voit kuitenkin jäljitellä samanlaista kokemusta käyttämällä Apps Script Editorin lokitus- ja vianetsintäominaisuuksia tai perustamalla ulkoisen ympäristön. Tässä keskitymme luomaan väliaikaisen REPL:n suoraan Apps Script -editorissa.

  1. Väliaikaisen REPL-toiminnon luominen:
function myREPL() {
  var input = Logger.log('Syötä lausekkeesi: ');
  try {
    var result = eval(input);
    Logger.log('Tulos: ' + result);
  } catch(e) {
    Logger.log('Virhe: ' + e.message);
  }
}

Koska suora käyttäjäsyöte ei ole toteutettavissa samalla tavalla kuin perinteisessä REPL:ssä Apps Script -ympäristössä, voit muokata input-muuttujaa manuaalisesti ja käynnistää myREPL()-funktion lausekkeiden testaamiseksi.

  1. Esimerkkikoodin suoritus:

Oletetaan, että haluat arvioida 2+2. Muokkaisit myREPL-funktiota seuraavasti:

function myREPL() {
  var input = '2+2'; // Syötä lausekkeesi tähän manuaalisesti
  // Loput pysyvät samoina...
}

Suoritettuasi myREPL()-funktion, tarkista Lokit (Näkymä > Lokit) tulosteelle, joka pitäisi näyttää jotakin tällaista:

[20-xx-xxxx xx:xx:xx:xxx] Syötä lausekkeesi:
[20-xx-xxxx xx:xx:xx:xxx] Tulos: 4
  1. Vianetsintä Loggerin avulla:

Monimutkaisemman vianetsinnän yhteydessä voit lisätä Logger.log(muuttuja); koodiisi muuttujan tilojen tulostamiseksi, mikä auttaa ymmärtämään skriptisi kulun ja välitilat.

Syväsukellus

REPL:n konsepti on syvällä tietojenkäsittelyn historiassa, juontaen juurensa 1960-luvun aikajakojärjestelmiin, jotka mahdollistivat interaktiiviset istunnot. Kielet, kuten Lisp, kukoistivat tässä ympäristössä, sillä REPL oli kriittinen niiden iteratiivisessa kehitysprosessissa. Toisin kuin Google Apps Script, joka on kehitetty paljon myöhemmin ja pääasiassa webiä varten, keskittyen Google-sarjan tehtävien automatisointiin iteratiivisen, konsolipohjaisen ohjelmoinnin sijaan.

Google Apps Script ei perinteisesti tue reaaliaikaisia, interaktiivisia koodaussessioita suoraan laatikosta johtuen sen pilvipohjaisesta luonteesta ja web-sovellusten käyttöönottoon keskittyvästä fokuksesta. Sen suoritusmalli pyörii funktioiden ympärillä, joita laukaistaan web-tapahtumista, aikaan sidotuista laukaisijoista tai manuaalisesta käynnistyksestä ympäristössä, eikä välittömistä palautesilmukoista, joita REPL tarjoaa.

Vaikka väliaikainen REPL ja vianetsintä Apps Script Editorissa tarjoavat jonkin tason interaktiivisuutta, ne eivät täysin toista perinteisten REPL:ien tarjoamaa välitöntä palautetta ja tehokkuutta, joita monissa ohjelmointikielissä on. Kehittäjät, jotka etsivät aidompaa REPL-kokemusta Google-teknologioiden kanssa, saattavat tutkia ulkoisia JavaScript-ympäristöjä tai Node.js:ää Googlen API:en kanssa. Nämä voivat tarjota responsiivisemman ja interaktiivisemman koodaussession, vaikkakin vaativat enemmän asetusta ja mahdollisesti poikkeamista suorasta Apps Script -ympäristöstä.