5

Bir google-apps komut dosyasında aşağıdaki bozuk örnek işlev olduğunu varsayalım. işlev bir dizge argümanı ile bir google sayfasından çağrılacak amaçlanmıştır: Bir tartışmayı Google Apps Komut Dosyası hata ayıklayıcıya nasıl iletirsiniz?

function myFunction(input) { 
    var caps = input.toUpperCase() 
    var output = caps.substrin(1, 4) 
    return output 
} 

Eğer böyle bir yöntem substrin" olarak bulunduğundan, myFunction ve basın hata ayıklama seçtiklerinde bu örnek komut dosyası 3. hatta kırmak gerekirken

(Eğer tanımsız koyamazsınız çünkü)," tüm kapaklar, 2. hatta kıracak:

TypeError: Cannot call method "toUpperCase" of undefined. (line 2, file "Code")

Soru: bir dize geçmesine resmi bir yolu var mı bir test için komut dosyası google-apps/ek işlev yapmadan hata ayıklama

ve hata ayıklama bu?

cevap

6

Yazdığınız işlev, bir parametreye ihtiyaç duyar ve işlevde varsayılan bir değer eklenmesi dışında, bundan kaçınmanın bir yolu yoktur. Aşağıdaki örnek, girişin tanımsız olarak başlatılması durumunda "test" i seçecek, ancak aksi halde girişi kullanacak olan aşağıdaki örneğe bakın:

+0

Hangisini kullanacağına nasıl karar verir? Bunun için Google kullanıcı arayüzü yok mu? – Menasheh

+0

Evet. –

+0

çıkışını görselleştirebilmek için geri dönmeden önce Logger.log (output) ekleyin input = input || 'test', (! input) input = 'test' ise, için kısa yoldur; mantıksal veya ("||") girişi doğru veya yanlış olarak dönüştürür ve yanlış ise ikinci işleneni seçer. Ancak, 0'ın false olarak değerlendirileceğini unutmayın, bu nedenle 0 geçilirse, girdi 'test' olur. Bunu kullanarak aşağıdakilerden yararlanabilirsiniz: input = (input! == undefined)? giriş: 'test'; Diğer taraftan, * herhangi bir * dize true olarak test edecektir: ("", "0", "false", "undefined") hepsi doğru olarak değerlendirilecektir. – HardScale