【发布时间】:2017-07-15 08:51:59
【问题描述】:
嘿,我正在寻找一个函数,它以 Dart 语言将动态变量尽可能完整地打印到控制台。
例如,在 PHP 中,我会使用 var_dump() 来获取有关变量的所有信息。
在 JavaScript 中,我会执行以下操作之一:
1) 将 Object 转换为 JSON 并打印 console.log(JSON.stringify(obj))
2) 或者像这样的自定义函数:
function dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;
//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += " ";
if(typeof(arr) == 'object') { //Array/Hashes/Objects
for(var item in arr) {
var value = arr[item];
if(typeof(value) == 'object') { //If it is an array,
dumped_text += level_padding + "'" + item + "' ...\n";
dumped_text += dump(value,level+1);
} else {
dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
}
}
} else { //Stings/Chars/Numbers etc.
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}
但是在 Dart 中,如果我执行print(variable),我会得到类似Instance of 'FooBarObject' 的信息。我不能像在 JavaScript 中那样将对象转换为 JSON,因为这对所有对象都是不可能的。
所以我的问题详细:
dart 中的函数或自定义函数在哪里可以打印未知类型(对象、数组等)的变量,包括所有(公共)属性以及嵌套对象和变量到我的控制台?或者哪个功能最接近这个愿望?
【问题讨论】: