Załóżmy, że mam zepsutą przykładową funkcję w skrypcie Google Apps. Funkcja ma być wywoływana z arkusza google o argumencie:Jak przekazać argument do debugera Google Apps Script?
function myFunction(input) {
var caps = input.toUpperCase()
var output = caps.substrin(1, 4)
return output
}
Choć przykład ten skrypt powinien przerwać na linii 3 po wybraniu myFunction i naciśnij debug, ponieważ nie ma takich metod jak „substrin (),”będzie przerwa na linii 2, ponieważ nie można umieścić niezdefiniowane we wszystkich nasadek:
TypeError: Cannot call method "toUpperCase" of undefined. (line 2, file "Code")
Pytanie: Czy istnieje oficjalny sposób przekazać ciąg do google-apps skrypt do testowania/debugowanie bez dodatkowej funkcji
function myOtherFunction() {
myFunction("testString")
}
i debugowanie tego?
To spowoduje wybór "testu", jeśli wejście zaczyna się jako niezdefiniowane, ale poza tym użyj wejścia? W jaki sposób decyduje, z którego użyć? I nie ma w tym celu interfejsu Google? – Menasheh
Tak. Dodaj Logger.log (wyjście) przed powrotem, aby móc wizualizować wyjście –
input = input || "test" jest skrótem dla , jeśli wejście (! input) = "test"; logiczna lub ("||") konwertuje dane wejściowe na true lub false, a jeśli false, wybiera drugi operand. Należy jednak zauważyć, że 0 zostanie uznane za fałszywe, więc jeśli 0 zostanie przekazane, dane wejściowe będą "testowe". Można tego uniknąć, używając: input = (input! == undefined)? input: "test"; Z drugiej strony, * dowolny * ciąg będzie testowany jako prawdziwy: ("", "0", "fałsz", "niezdefiniowany") wszystkie będą miały wartość true. – HardScale