我见过的大多数D语言教程使用printf
来输出文本到控制台,但这不可能是正确的。我知道D提供了对C/C++库的直接访问,但是不应该使用D的控制台输出函数吗?将文本(格式化或其他)输出到控制台窗口的首选方法是什么?现代D的首选控制台输出方法是什么?
6
A
回答
9
在模块内std.stdio
,你会发现write
,朋友们:writeln
,writef
和writefln
。
write
只是需要每个参数,将其转换成字符串,并将其输出:
import std.stdio;
void main()
{
write(5, " <- that's five"); // prints: 5 <- that's five
}
writef
对待第一字符串作为格式说明符(很像C'S printf
),并使用它格式化其余的参数:
import std.stdio;
void main()
{
writef("%d %s", 5, "<- that's five"); // prints: 5 <- that's five
}
的版本结尾与“ln
”相当于现在的版本不它,但也在打印结束时添加一个换行符。所有版本都是类型安全的(因此是可扩展的)。
1
使用printf
主要是历史。它已被使用,因为它是在自动导入的一个模块中声明的,并使示例更短。此外,D的作者编写了许多例子和IIRC,在调试编译器时,他更喜欢printf
而不是writef
,因为出错率较低。那加上肌肉记忆在printf
结果泄漏入例子。
相关问题
- 1. NSBundle为什么控制台输出(空)?
- 2. 什么是Zend Acl的首选实现方法
- 3. 什么是spy.js经常出现在控制台
- 4. 控制台输出不会出现在代码大战
- 5. 控制台输出
- 6. 在C++中实现工厂方法的首选方法是什么?
- 7. 在NSView-drawRect:方法中绘制直线的首选/推荐方法是什么?
- 8. 输出国家代码到控制台
- 9. 弹出交互式Python控制台最简单的方法是什么?
- 10. 的IntelliJ控制台输出
- 11. ctrl^D之后控制台上没有输出?
- 12. 注释中注释方法的首选方式是什么?
- 13. 什么是Zend的控制台?你什么时候使用这个控制台?
- 14. 控制台输出为什么返回到行首?或者为什么我的连接不连接?
- 15. 实现hashCode()的首选方式是什么?
- 16. 为什么Eclipse控制台中的某些输出 - 红色?
- 17. 从定制控件通知父窗口的首选方式是什么?
- 18. 使控制台输出成为“详细”的最快方法
- 19. 控制台输出格式
- 20. SharePoint控制台输出
- 21. Symfony控制台输出
- 22. 控制台输出错误
- 23. C#UTF8控制台输出
- 24. C#控制台输出
- 25. Ruby和控制台输出
- 26. 写作控制台输出
- 27. 怪异控制台输出
- 28. MATLAB控制台输出
- 29. 显示控制台输出?
- 30. 控制台输出Selenium Webdriver