OP sorularını cevaplamak
A) Google Apps Komut Dosyası konsolunun yazdırmayla ilgili olarak nasıl çalıştığı konusunda neyi anlamıyorum, böylece kodumun istediğimi gerçekleştirip gerçekleştirmediğini görebilir miyim?
Bir Google Apps Komut Dosyası projesinin .gs dosyalarındaki kod, web tarayıcısı yerine sunucuda çalışır. Mesajları günlüğe kaydetmenin yolu Class Logger'ı kullanmaktı .
B) Kodla ilgili bir sorun mu var?
Hata mesajının dediği gibi, sorun console
tanımlanmamıştı, ancak günümüzde aynı kod başka bir hatayı atacak:
ReferenceError: "playerArray" tanımlı değil. (satır 12, dosya "Kod")
Bunun nedeni playerArray'in yerel değişken olarak tanımlanmasıdır. Satırı işlevin dışına taşımak bunu çözecektir.
var playerArray = [];
function addplayerstoArray(numplayers) {
for (i=0; i<numplayers; i++) {
playerArray.push(i);
}
}
addplayerstoArray(7);
console.log(playerArray[3])
Artık kod hata vermeden yürütüldüğüne göre, tarayıcı konsoluna bakmak yerine Stackdriver Logging'e bakmalıyız. Google Apps Komut Dosyası düzenleyici kullanıcı arayüzünden Görünüm> Stackdriver Logging'i tıklayın. .
Ek
2017'de Google, Stackdriver Logging'i tüm komut dosyalarına yayınladı ve Sınıf Konsolu'nu ekledi. console.log('Hello world!')
bir hata vermeyecek ancak günlük, tarayıcı konsolu yerine Google Cloud Platform Stackdriver Logging Hizmeti'nde olacak.
Gönderen Google Apps Komut Sürüm Notları 2017
23 Haziran 2017
Stackdriver Logging , Erken Erişim'den çıkarıldı. Artık tüm komut dosyalarının Stackdriver günlük kaydına erişimi var.
Gönderen Günlüğü> Stackdriver günlüğü
Aşağıdaki örnek, Stackdriver'daki bilgileri günlüğe kaydetmek için konsol hizmetinin nasıl kullanılacağını gösterir .
function measuringExecutionTime() {
console.info('Timing the %s function (%d arguments)', 'myFunction', 1);
var parameters = {
isValid: true,
content: 'some string',
timestamp: new Date()
};
console.log({message: 'Function Input', initialData: parameters});
var label = 'myFunction() time';
console.time(label);
try {
myFunction(parameters);
} catch (e) {
console.error('myFunction() yielded an error: ' + e);
}
console.timeEnd(label);
}