2014-10-03 68 views
4

我有一个简单的项目,执行一些通用数组计算并将结果返回到网格中。我需要一个简短的方式来扫描最大值的阵列,通过这个尝试:脚本调试器报告“操作不允许”

var max = Math.max.bind(Math.max); 
var vector_max = Function.apply.bind(max, null); 

现在,这个时候我没有调试的伟大工程。但是,如果我环绕的任何声明的测试功能,如,说:

function tester() { 
    var r = 0; 
    return r; 
} 

...,在这个函数中的任何地方设置一个断点,然后单击调试,我得到一个错误:

"Typeerror: This operation is not allowed. (line XXX, file xxx)" 

即使在连接到空白工作表的全新脚本中也会发生这种情况。当然,Google没有关于脚本调试器的文档,也没有提及任何限制,所以我完全处于黑暗中。

任何想法?

回答

2

我也可以重现这一点。它确实看起来像在调试器中的错误! :)

您应该在Apps Script issue tracker中报告此问题。同时为你的vector_max函数使用另一个实现来调试你的代码。例如:

function vector_max(a){ return a.reduce(function(r,v){ return r < v ? v : r; }, -Infinity); } 
+0

已提交错误报告。我有一个解决方法,但代码更加混乱。 :(我敢打赌,这是一个没有文档记录的设计限制,并不一定是一个bug,这些重新引用的函数调用很难正确追踪和拆分,所以他们只是将它遗漏了,我只是希望他们让我们知道。 – HardScale 2014-10-04 14:59:45