27.8 If-Else Issue
20200105
Try typing the following code into the R console.
if (TRUE)
{<- 42
seed
}else
{<- 666
seed }
After the first closing brace the interpreter identifies and executes
a syntactically valid statement (if
with no
else
). The following else
is then a syntactic error.
: unexpected 'else' in "else"
Error
> source("examples.R")
in source("examples.R") : tmp.R:5:1: unexpected 'else'
Error 4: }
5: else
^
This is not an issue when embedding the if statement inside a block of code as within curly braces since the text we enter is not parsed until we hit the final closing brace.
{if (TRUE)
{<- 42
seed
}else
{<- 666
seed
} }
Another solution is to move the else
to the line with the
closing braces to inform the interpreter that we have more to come:
if (TRUE)
{<- 42
seed else
}
{<- 666
seed }
Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0
