gpt4 book ai didi

dart - DART 是否支持预定义的宏

转载 作者:行者123 更新时间:2023-12-03 02:57:06 29 4
gpt4 key购买 nike

DART 是否支持预定义的宏,例如:

__LINE__

__FUNCTION__

询问的原因是转换器 DART2JS 使控制台日志没有用,因为所有日志都显示:js_primitives.dart:30

[更新基础]

当使用转换器 dart2js 时,print("hello world"); 将导致:

JS('void', r'console.log(#)', "hello world);

被函数调用:printString(String string)驻留在库 dart2js._js_primitives

这导致 console.log 消息始终包含相同的行号,无论在 DART 代码中使用 print(); 的什么地方。 (因为 console.log 会自动将文件名和行号添加到驻留在 dart2js._js_primitives 中的包装函数的控制台显示中)由于当前将文件名和行号添加到 console.log 消息的实现是无用的,如果有另一种允许显示附加信息的方法就好了。

例如,print("hello world"__FUNCTION__ __LINE__); 会产生更有用的额外调试信息。

最佳答案

你可以使用

void main() {
print(StackTrace.current);
}

为了更好地了解错误的来源

DartPad example

您还可以在自定义区域中运行代码并为该区域定义自定义打印方法。另见 https://api.dartlang.org/stable/1.24.3/dart-async/Zone/print.html

关于dart - DART 是否支持预定义的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48968722/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com