Hi list members, ?"else" tells us In particular, you should not have a newline between '}' and 'else' to avoid a syntax error in entering a 'if ... else' construct at the keyboard or via 'source'. but there's no syntax error when you break the line between "}" and "else" in a function, e.g. f = function(x) { if (x) { 1 } # a new line here! else { 2 } }> f(TRUE)[1] 1> f(FALSE)[1] 2 Seems strange... Regards, Yihui -- Yihui Xie <xieyihui at gmail.com> Phone: +86-(0)10-82509086 Fax: +86-(0)10-82509086 Mobile: +86-15810805877 Homepage: http://www.yihui.name School of Statistics, Room 1037, Mingde Main Building, Renmin University of China, Beijing, 100872, China
Romain Francois
2009-Apr-03 06:48 UTC
[R] new line between '}' and 'else' in function body
Hi, That's because the parser knows how to deal with that stuff. However, when you type the same if/else at the command line, it will be parsed line by line, and the evaluator will not wait for the else to evaluate the if. Try to copy and paste your if/else to the command line. Romain Yihui Xie wrote:> Hi list members, > > ?"else" tells us > > In particular, you should not have a newline between '}' and > 'else' to avoid a syntax error in entering a 'if ... else' > construct at the keyboard or via 'source'. > > but there's no syntax error when you break the line between "}" and > "else" in a function, e.g. > > f = function(x) { > if (x) { > 1 > } # a new line here! > else { > 2 > } > } > > >> f(TRUE) >> > [1] 1 > >> f(FALSE) >> > [1] 2 > > Seems strange... > > Regards, > Yihui > -- > Yihui Xie <xieyihui at gmail.com> > Phone: +86-(0)10-82509086 Fax: +86-(0)10-82509086 > Mobile: +86-15810805877 > Homepage: http://www.yihui.name > School of Statistics, Room 1037, Mingde Main Building, > Renmin University of China, Beijing, 100872, China >-- Romain Francois Independent R Consultant +33(0) 6 28 91 30 30 http://romainfrancois.blog.free.fr
Reasonably Related Threads
- How to get commands history as a character vector instead of displaying them?
- extract tables as data.frames from HTML source
- Line breaks in mathematical formulae in Rd files (PR#13287)
- Special characters in Rd example section will cause errors
- code works in R desktop but not iin RWeb - I got it working