"If (FALSE)" 没有明确说明条件
"If (FALSE)" with no condition explicitly stated
我从显然喜欢使用以下语法的人那里收到了一些代码:
if(FALSE) {
opt <- list("cores" = 1, "degradation" = TRUE, "test" = TRUE)
}
这是什么意思?如果FALSE
是什么?最后评估的条件?我很困惑
这是可用的技术之一 to comment out multiple lines of code。
优点:
- 你不需要在每一行都使用#
- 正如@Ben Bolker 所指出的,代码语法突出显示仍然处于活动状态,因此您知道您可以随时使用
if (T)
而不是 if (F)
来打开它
缺点:
- 你看得不像 # 注释掉的东西那么清楚
If what is FALSE
?
FALSE
本身。 FALSE
是一个逻辑值。 if
的语法是
if (condition) …
那个“条件”可以是任何表达式,其计算结果为 R 可以解释为逻辑值的东西。 FALSE
就是这样一种表达方式。所以 if (FALSE)
和写 if (a condition that’s never true)
.
基本一样
所以这个结构是毫无意义的:整个if
块总是会被跳过,你不妨删除它。正如另一个答案中所解释的,有些人使用这种结构来轻松禁用更大的代码块。我不推荐这种做法:从未评估的代码称为 dead code, and it’s clutter and thus incurs technical debt(所有这些都是有效的术语,表示它会降低整体代码质量)。
我从显然喜欢使用以下语法的人那里收到了一些代码:
if(FALSE) {
opt <- list("cores" = 1, "degradation" = TRUE, "test" = TRUE)
}
这是什么意思?如果FALSE
是什么?最后评估的条件?我很困惑
这是可用的技术之一 to comment out multiple lines of code。
优点:
- 你不需要在每一行都使用#
- 正如@Ben Bolker 所指出的,代码语法突出显示仍然处于活动状态,因此您知道您可以随时使用
if (T)
而不是if (F)
来打开它
缺点:
- 你看得不像 # 注释掉的东西那么清楚
If what is
FALSE
?
FALSE
本身。 FALSE
是一个逻辑值。 if
的语法是
if (condition) …
那个“条件”可以是任何表达式,其计算结果为 R 可以解释为逻辑值的东西。 FALSE
就是这样一种表达方式。所以 if (FALSE)
和写 if (a condition that’s never true)
.
所以这个结构是毫无意义的:整个if
块总是会被跳过,你不妨删除它。正如另一个答案中所解释的,有些人使用这种结构来轻松禁用更大的代码块。我不推荐这种做法:从未评估的代码称为 dead code, and it’s clutter and thus incurs technical debt(所有这些都是有效的术语,表示它会降低整体代码质量)。