Data Science Desktop Survival Guide
by Graham Williams |
|||||
If-Else Issue |
20200105
if (TRUE)
{ seed <- 42 } else { seed <- 666 }
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.
|
Error: unexpected 'else' in "else"
> source("examples.R") Error in source("examples.R") : tmp.R:5:1: unexpected 'else' 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) { seed <- 42 } else { seed <- 666 } }
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)
{ seed <- 42 } else { seed <- 666 }
|