英文:
How do I print the result of a variable in google apps script to the console?
问题
我目前正在运行这段代码:
function getRandomValues() {
var values = [];
for (var i = 0; i < 100; ++i) {
values.push([Math.floor((Math.random()*100)+1)]);
}
return values;
Logger.log(values);
}
我希望它能在1到100之间选择一个随机数,然后将其打印到控制台。就我所知,选择随机数的部分工作得很好,但在继续之前,我想检查一下,我很难在任何我能看到的地方得到输出。
我已经在Google上进行了大量的研究,以查找其他人是否遇到了同样的问题,这导致我使用了 "Logger.log",但无论我之后做什么,都无法在控制台上看到值。甚至当我尝试在logger.log括号中只写("Hello World!")时,它也不起作用。我尝试在括号之间放入了许多东西,如(var values),(values []),(return values),(values result)和(values return),但都没有效果。正如你现在可以看到的,我对Google应用脚本非常陌生,我在尝试学习它以创建一个简单项目的前3小时内。我看到我的 "Logger.log(values);" 在我的脚本中是灰色的,我必须假设这是其中一个问题,但我不知道如何解决。我在网上找到的唯一事情是人们没有正确声明变量。任何帮助将不胜感激。
英文:
I am currently running this code:
```
function getRandomValues() {
var values = [];
for (var i = 0; i < 100; ++i) {
values.push([Math.floor((Math.random()*100)+1)]);
}
return values;
Logger.log(values);
}
```
Which I was hoping would pick a random number between 1 and 100, then print it to the console. For all I know the picking a number section is working perfectly well but I want to check it before continuing and I'm struggling to get an output anywhere that I can see.
I have tried a good amount of research on google to find other people experienceing the same issues which led me to using "Logger.log" but no matter what I do after that I don't get a value to the console. Even when I try just writing ("Hello World!") within the logger.log brackets it doesn't work. I have tried putting many things between the brackets such as (var values), (values []), (return values), (values result) and (values return) but nothing works. As I'm sure you can tell by now I am incredibly new to google apps script and I am within my first 3 hours of trying to learn it to create a simple project. I do see that my "Logger.log(values);" is greyed out in my script and have to assume that is one of the issues but I don't know how to fix that. The only thing I find online is people not declaring variables properly. Any help would be greatly appreciated.
答案1
得分: 0
在你的脚本中,Logger.log(values)
在 return values
之后。在当前阶段,Google Apps Script 是以同步方式运行的,而你的函数在 return values
处结束。因此,脚本在运行 Logger.log(values)
后就结束了。我认为这是你当前问题的原因。
为了在日志中显示 values
,请将 Logger.log(values)
放在 return values
的前面。所以,请将它修改如下:
function getRandomValues() {
var values = [];
for (var i = 0; i < 100; ++i) {
values.push([Math.floor((Math.random() * 100) + 1)]);
}
Logger.log(values); // <--- 这里
return values;
}
通过这个修改,在运行函数 getRandomValues()
时,你可以在日志中看到 values
的值。
英文:
In the case of your following script,
function getRandomValues() {
var values = [];
for (var i = 0; i < 100; ++i) {
values.push([Math.floor((Math.random()*100)+1)]);
}
return values;
Logger.log(values);
}
Logger.log(values)
is put after return values
. In the current stage, Google Apps Script is run with the synchronous process and your function finishes at return values
. By this, the script is finished after Logger.log(values)
is run. I thought that this is the reason for your current issue.
In order to show values
in the log, please put Logger.log(values)
before the line of return values
. So, please modify it as follows.
function getRandomValues() {
var values = [];
for (var i = 0; i < 100; ++i) {
values.push([Math.floor((Math.random() * 100) + 1)]);
}
Logger.log(values); // <--- here
return values;
}
By this modification, when you run the function getRandomValues()
, you can see the values of values
in the log.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论