Berwin A Turlach wrote: > G'day Carl, > > On Mon, 23 Mar 2009 20:11:19 -0400 > Carl Witthoft <c...@witthoft.com> wrote: > > > >> But seriously: can someone explain to me what's going on in the >> rvalues.r code? I tried a simple experiment, replacing ":=" with a >> "colec" in the code, and of course the line >> >> c(df1, df2) colec list(4:8, 9:13) >> >> >> just gives me a "syntax error" response. Clearly I need a pointer >> to some documentation about how the colon and equals sign get >> "special treatment somewhere inside R. >> > > Not sure why := gets a special treatment,
yet another bug?? > perhaps because it is not a > valid name and, hence, the parser deduces that it is an operator? > > well, you can't do it with, e.g., ':==', because you'd get a *syntactic* error (while ':=' gives a semantic error): a :== 1 # syntactic error: unexpected '=' in ':=' ':==' = function(a, b) NULL a :== 1 # syntactic error again, of course it's indeed surprising that it works with ':=' but not with, e.g., ':>'. and in cases like ':-' you'd in fact use two operators (so an 'overloading' won't work for these): ':-' = function(a, b) a - if(a > b) b else 0 2 :- 1 # 2 1 0 -1 # not 1 it's interesting to note that a :< b # error: unexpected '<' in ':<' will tell you what's unexpected, while a :% b # error: unexpected input in 'a :% b' a :_ b # error: unexpected input in 'a :_' will leave you wondering what's wrong there. vQ ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.