现代D中首选的控制台输出方法是什么?

时间:2011-04-01 02:13:49

标签: console d

我见过的大多数D语言教程都使用printf将文本输出到控制台,但这可能不对。我知道D提供了对C / C ++库的直接访问,但是不应该使用D的控制台输出功能吗?将文本(格式化或其他方式)输出到控制台窗口的首选方法是什么?

2 个答案:

答案 0 :(得分:9)

在模块std.stdio中,您会找到write和朋友:writelnwritefwritefln


write只接受每个参数,将其转换为字符串,然后输出:

import std.stdio;

void main()
{
    write(5, " <- that's five"); // prints: 5 <- that's five
}

writef将第一个字符串视为格式说明符(很像C的printf),并使用它来格式化剩余的参数:

import std.stdio;

void main()
{
    writef("%d %s", 5, "<- that's five"); // prints: 5 <- that's five
}

以“ln”结尾的版本等同于没有它的版本,但在打印结束时也附加换行符。所有版本都是类型安全的(因此可扩展)。

答案 1 :(得分:1)

printf的使用主要是历史性的。它已被使用,因为它是在一个自动导入的模块中声明的,并且使示例更短。此外,D的作者编写了许多示例和IIRC,在调试编译器时,他更喜欢printf而不是writef,因为不会出错。加上肌肉记忆导致printf泄漏到例子中。