Dig*_*ngh 0 syntax if-statement r
以下 R 代码会导致“错误:未找到对象‘test’”。
condition <- 1
if(condition == 0)
if(condition == 1)
{
test <- "Pass"
}
print(test)
Run Code Online (Sandbox Code Playgroud)
但是,如果我在 if 条件后添加一个大括号,如下所示,那么它就可以正常工作。
condition <- 1
if(condition == 0){}
if(condition == 1)
{
test <- "Pass"
}
print(test)
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了R 中if 条件的结构,找到了这个页面,其中写着大括号是可选的。那么为什么代码会失败呢?
\n\n其中写到花括号是可选的
\n
大括号是可选的。但后面需要有一些if表达。所以 R 取它找到的下一个表达式,它恰好是整个后续表达式if表达式。所以你的第一个代码会被解析,就像你写的一样
condition <- 1\nif(condition == 0) {\n if(condition == 1)\n {\n test <- "Pass"\n }\n}\nprint(test)\nRun Code Online (Sandbox Code Playgroud)\n不管怎样,你发现的页面是一个质量很差的资源,我建议你忘记它;事实上,关于可选花括号,它实际上是这样说的:
\n\n\n注意,如果 R 中后面没有 else 条件,大括号是可选的。
\n
这是错误的。是否存在else(注意:\xe2\x80\x99s 没有 \xe2\x80\x9celse 条件\xe2\x80\x9d!)与大括号是否可选完全无关。该页面的其余部分质量也同样较差。
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |