if 语句可以使得你有条件地执行代码。其形式如下所示:
单个条件判断
代码语言:javascript复制if (condition) {
# 条件为真时执行的代码
} else {
# 条件为假时执行的代码 }
多重条件
你可以将多个 if 语句串联起来:
代码语言:javascript复制if (this) {
# 做一些操作
} else if (that) { # 做另外一些操作
} else {
#
}
但如果你有一长串 if 语句,那么就要考虑重写了。重写的一种方法是使用 switch() 函数, 它先对第一个参数求值,然后按照名称或位置在后面的参数列表中匹配返回结果:
代码语言:javascript复制function(x, y, op) {
switch(op,
plus = x y,
minus = x - y,
times = x * y,
divide = x / y,
stop("Unknown op!")
)
}
代码风格
if 和 function 后面总是要跟着一对大括号({}),其中的内容应该缩进两个空格。这样通 过左侧空白就可以很容易地知道代码层次。 左大括号不应该自己占一行,而且后面要换行。右大括号应该自己占一行,除非后面跟着 else。大括号中的代码一定要缩进:
代码语言:javascript复制if (y < 0 && debug) {
message("Y is negative")
}
if (y == 0) {
log(x)
} else {
y^ x }
如果 if 语句非常短,可以在一行内写下,那么可以不用大括号:
代码语言:javascript复制y <- 10
x <- if (y < 20) "Too low" else "Too high"
我们建议只对特别短的 if 语句采用这种形式,其他情况下还是完整形式更易于阅读:
代码语言:javascript复制 if (y < 20) {
x <- "Too low"
} else {
x <- "Too high"
}
选自《R数据科学》