考虑一下我碰巧经常使用的这种流程结构:
if ( hasPosts() ) {
while ( hasPosts() ) {
displayNextPost();
}
} else {
displayNoPostsContent();
}
是否有任何编程语言具有可选else
子句 for while
,如果从未进入 while 循环,则将运行该子句?因此,上面的代码将变为:
while ( hasPosts() ) {
displayNextPost();
} else {
displayNoPostsContent();
}
我发现有趣的是,许多语言都有这种do-while
结构(在检查条件之前运行一次 while 代码),但我从未见过while-else
解决方法。根据在 N-1 块中运行的内容(例如try-catch
构造)运行 N 块代码是有先例的。
我不确定是在这里发帖还是在programmers.SE 上发帖。如果这个问题在那里更合适,那么请移动它。谢谢。