书籍示例的问题

deb*_*bio 5 d

它只是我,还是"D编程语言"第68页有问题?在这个页面上,作者讨论了D的if-else语句的语法以及它们如何嵌套.他首先介绍了这个例子:

if(a == b)
    if(b == c)
        writeln("all are equal!");
    else
        writeln("a is different from b. Or is that so?");
Run Code Online (Sandbox Code Playgroud)

然后他指出,否则将绑定到第二个if.然后他说,为了让其他人绑定到第一个if,应该使用这样的大括号:

if(a == b) {
    if(b == c)
        writeln("all are equal!");
    else
        writeln("a is different from b. Or is that so?");
}
Run Code Online (Sandbox Code Playgroud)

我完全忽略了这一点,还是你必须这样做:

if(a == b) {
    if(b == c)
        writeln("all are equal!");
}
else
    writeln("a is different from b. Or is that so?");
Run Code Online (Sandbox Code Playgroud)

Jon*_*vis 5

这确实是一个错误.TDPL的勘误表可以在这里找到:http://www.erdani.com/tdpl/errata/index.php?title = Main_Page