D writeln()或writefln()?
Hello World for D看起来像这样:D writeln()或writefln()?,d,D,Hello World for D看起来像这样: import std.stdio; void main(string[] args) { writeln("Hello World, Reloaded"); } 从 但当我用gdc-4.4.5编译时,我得到: hello.d:5: Error: undefined identifier writeln, did you mean function writefln? hello.d:5: Error: function expecte
import std.stdio;
void main(string[] args)
{
writeln("Hello World, Reloaded");
}
从
但当我用gdc-4.4.5编译时,我得到:
hello.d:5: Error: undefined identifier writeln, did you mean function writefln?
hello.d:5: Error: function expected before (), not __error of type _error_
这是首被告还是次被告?图书馆的事?writefln是一个stdio库函数而writeln不是,这似乎很奇怪。是的,
writeln
仅在D2的标准库中可用。正如CyberShadow提到的,writeln
仅在D2中可用。它们之间的区别是writeln
只按原样打印其参数,而writefln
将其第一个参数解释为格式字符串,就像C的printf
一样
例如:
import std.stdio;
void main() {
// Prints "There have been 44 U.S. presidents." Note that %s can be used
// to print the default string representation for any type.
writefln("There have been %s U.S. presidents.", 44);
// Same thing
writeln("There have been ", 44, " U.S. presidents.");
}
而且,据我所知,gdc目前只支持D1,这就解释了为什么这是一个问题。为什么你认为它只支持D1?我怀疑这个bug与@Jonathan:我的错误有关。我在看一个旧的gdc网站,它从2007年起就没有更新过。