gpt4 book ai didi

r - 为什么不带括号的 if-else 语句有时有效有时无效?

转载 作者:行者123 更新时间:2023-12-04 01:51:22 24 4
gpt4 key购买 nike

我现在很迷茫!首先我了解到在 R 中这是不可能的,但我经常忘记它并且它有时有效。然后它又不起作用了!我开始认识到这种模式——它在 for 循环或另一个块语句中工作,但不在外部:

for (i in 1:10) {

if (0)
a <- 1
else
a <- 2

b <- 3
}

对我来说没有意义……有什么解释吗?和手册引用?在我阅读的每个 R 资源中,似乎都需要括号:
if (0) {
a <- 1
} else {
a <- 2
}

PS:不是重复的,标记的问题甚至不谈论没有括号的变体,这是我问题的核心。它正在谈论换行的必要性。

最佳答案

当整个“if”语句用大括号括起来时(如在函数体中),您不需要“else”与“if”的右方括号在同一行。

此代码产生语法错误:

a <- 1
if (a >1)
{
print("a is greater than 1")
}
else
{
print ("a is not greater than 1")
}

虽然这不是,仅仅是因为添加了第一个和最后一个括号:
{
a <- 1
if (a >1)
{
print("a is greater than 1")
}
else
{
print ("a is not greater than 1")
}
}

关于r - 为什么不带括号的 if-else 语句有时有效有时无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39752318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com