我觉得其他答案没有回答标题中的问题,也没有考虑到标签c
。因此,我添加了另一个答案。
我使用这种语法来防止我的代码通过 if 语句变得丑陋。
foo(1) == TRUE ?: error_quit("foo(1) failed");
foo(2) == TRUE ?: error_quit("foo(2) failed");
foo(3) == TRUE ?: error_quit("foo(3) failed");
foo(4) == TRUE ?: error_quit("foo(4) failed");
您可以在该行的开头看到实际的函数调用。将其与以下版本进行比较,其中前导if
阻碍了函数调用的直接视图。
if (foo(1) == FALSE) error_quit("foo(1)" failed");
if (foo(2) == FALSE) error_quit("foo(2)" failed");
if (foo(3) == FALSE) error_quit("foo(3)" failed");
if (foo(4) == FALSE) error_quit("foo(4)" failed");
甚至更难阅读:
if (foo(1) == FALSE){
error_quit("foo(1)" failed");
}
if (foo(2) == FALSE){
error_quit("foo(2)" failed");
}
if (foo(3) == FALSE){
error_quit("foo(3)" failed");
}
if (foo(4) == FALSE){
error_quit("foo(4)" failed");
}