我有以下代码,发现不兼容的数据表:错误:表包含比预期更多的列(期望3列)
function drawMarkersMap() {
var data = google.visualization.arrayToDataTable([
['State', 'User', 'Company','data'],
['Australian Capital Territory', 100, 160, 100],
['Northern Territory', 250, 250, 200 ],
['Western Australia', 150, 350, 300],
['New South Wales', 300, 100, 400],
['Victoria', 50, 156, 50],
['Queensland', 10, 150, 20],
['South Australia', 160, 168, 23],
['Tasmania', 250, 568, 3443]
]);
var options = {
region : 'AU',
displayMode : 'markers',
colorAxis : {
colors: ['blue', 'red']
}
};
var chart = new google.visualization.GeoChart(document.getElementById('chart_div_geo'));
chart.draw(data, options);
};
Run Code Online (Sandbox Code Playgroud) 我试图创建一个通用的包装函数,可以包装任何返回对象的方法.非常类似于这个 SO问题的答案.我尝试了以下方法:
def wrapper_function[T](f: => T): T = {
println("Executing now");
val ret: T = f;
println("Execution finished");
ret
}
def multiply2( x: Int ): Int = wrapper_function {
println("inside multiply2");
return x*2
}
Run Code Online (Sandbox Code Playgroud)
但是,我观察到在包装函数内的函数调用之后没有执行任何操作.具体而言,"执行完成"未打印.
scala> val x = multiply2(4)
Executing now
inside multiply2
x: Int = 8
Run Code Online (Sandbox Code Playgroud)
我正在使用scala 2.11.8
我在这里做错了吗?这令人费解,我将不胜感激.