D 图书示例的问题
只是我,还是“D编程语言”第68页有问题? 在本页中,作者讨论了if-else语句的D语法及其嵌套方式。他首先介绍了这个例子:D 图书示例的问题,d,D,只是我,还是“D编程语言”第68页有问题? 在本页中,作者讨论了if-else语句的D语法及其嵌套方式。他首先介绍了这个例子: if(a == b) if(b == c) writeln("all are equal!"); else writeln("a is different from b. Or is that so?"); 然后他指出,else将绑定到第二个if。然后他说,为了让else绑定到第一个if,应该使用这样的大括号: if(a
if(a == b)
if(b == c)
writeln("all are equal!");
else
writeln("a is different from b. Or is that so?");
然后他指出,else将绑定到第二个if。然后他说,为了让else绑定到第一个if,应该使用这样的大括号:
if(a == b) {
if(b == c)
writeln("all are equal!");
else
writeln("a is different from b. Or is that so?");
}
我是完全没有抓住要点,还是你必须这样做:
if(a == b) {
if(b == c)
writeln("all are equal!");
}
else
writeln("a is different from b. Or is that so?");
这确实是一个错误。TDPL的勘误表可在此处找到:您是正确的。示例代码是错误的。但书中的文字是正确的:“如果你想将else绑定到第一个If,那么用一对大括号缓冲“第二个If”。但是代码并没有显示“缓冲”,只是第二个if。我想如果我搜索勘误表而不是补遗,我会找到它的……:)是的。我知道它在哪里,因为我在D新闻组很活跃。否则的话,我会很难找到它。