首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Google apps脚本:在不同的脚本中使用库,给了我不同的行为

Google apps脚本:在不同的脚本中使用库,给了我不同的行为
EN

Stack Overflow用户
提问于 2021-09-19 02:26:30
回答 1查看 46关注 0票数 1

我使用的是dataframe-js。https://gmousse.gitbooks.io/dataframe-js/content/doc/api/dataframe.html

我已经将代码粘贴到script1中的.gs文件中。

这段代码可以在script1中运行。

代码语言:javascript
代码运行次数:0
运行
复制
function test(){
  var data =[[1,2,3],['a','b','c']]

  var DataFrame = dfjs.DataFrame
 
  var df = new DataFrame(data)

}

但是当我将script1作为一个库添加到script2中时,我就不能再使用代码了。

代码语言:javascript
代码运行次数:0
运行
复制
function test(){
 
  var data =[[1,2,3],['a','b','c']]

  var DataFrame = script1.dfjs.DataFrame
 
  var df = new DataFrame(data)

}

我得到了这个错误

代码语言:javascript
代码运行次数:0
运行
复制
Error   
ArgumentTypeError: Array while expecting DataFrame | Array | Object.
_construct  @ dataframe-js 1.4.3.gs:3167
Wrapper @ dataframe-js 1.4.3.gs:3191
ArgumentTypeError   @ dataframe-js 1.4.3.gs:4517
_build  @ dataframe-js 1.4.3.gs:6813
DataFrame   @ dataframe-js 1.4.3.gs:6665

我可以再粘贴一次代码。但是为什么这个不起作用呢?不确定是dataframe-js的问题还是我遗漏了一些简单的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-19 03:16:04

当我在客户端测试console.log(script1.dfjs.DataFrame)时,我确认脚本可以工作。因此,从ArgumentTypeError: Array while expecting DataFrame | Array | Object.的错误消息中,我认为可能需要按值将数组data作为字符串传递。我认为这个问题的原因可能是因为库和客户端的this不同。那么,当下面的修改反映在您的情况中时,您会得到什么结果?

对于库端:

请将以下脚本复制粘贴到库端的脚本文件中。

代码语言:javascript
代码运行次数:0
运行
复制
function DataFrame(data) {
  return new dfjs.DataFrame(JSON.parse(data));
}

对于客户端:

请在客户端测试以下脚本。

代码语言:javascript
代码运行次数:0
运行
复制
function test(){
  var data =[[1,2,3],['a','b','c']];
  var df = script1.DataFrame(JSON.stringify(data));

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69239840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档