【发布时间】:2018-03-30 05:56:14
【问题描述】:
我正在使用 Google 表格中的自定义函数处理一个相关项目。我最近尝试重构一些代码以使所有内容都面向对象,结果发现 Google 表格不喜欢对象。
假设我在 .gs 文件中有以下内容
function Ob(x){
this.x = x;
this.toString = function() { return this.x;};
}
function print_Ob_wrapper(x){
var ob = new Ob(x);
return ob.toString();
}
function Ob_wrapper(x){
var ob = new Ob(x);
return ob;
}
function print_Ob(ob){
var result = ob.toString();
Logger.log(result);
return result;
}
如果我将=print_Ob_wrapper(5) 放入单元格中,则单元格会按预期显示 5。
如果我尝试在电子表格中调用 =Ob_wrapper(5),我会得到一个空白单元格,这对我来说很有意义,因为工作表可能无法显示对象或其他东西。
对我来说没有意义的是为什么 =print_Ob(Ob_wrapper(5)) 不显示 5。
有什么想法吗?
【问题讨论】: