In addition to %...% operators one can define := (I haven't seen this possibility documented anywhere but it's used in a package) which seems to have different precedence.
> `:=`<-`%<-%` # the %<-% by John Fox > a [1] -1 > a := 1000 + 1 [1] 1001 > a [1] 1001 > a %<-% 1000 + 1 [1] 1001 > a [1] 1000 Regards, Kenn Kenn Konstabel National Institute for Health Development Hiiu 42 Tallinn On Thu, Mar 31, 2011 at 2:50 AM, William Dunlap <wdun...@tibco.com> wrote: > The %...% operators are not a panacea. > they have the same precedence as `*` > and `/` (I think) so you get things like: > > > x %<-% 10 - 8 # %<-% has higher precedence than - > [1] 2 > > x # not what you thought it would be > [1] 10 > > > x %<-% 10 ^3 # but lower than ^ > [1] 1000 > > x # this is what you expected > [1] 1000 > > It isn't that hard to write a package with your > own parser in it. Just have it generate the > call tree from your input text and call eval() > on it. > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > >> -----Original Message----- >> From: r-help-boun...@r-project.org >> [mailto:r-help-boun...@r-project.org] On Behalf Of John Fox >> Sent: Wednesday, March 30, 2011 4:34 PM >> To: 'Carl Witthoft' >> Cc: r-help@r-project.org >> Subject: Re: [R] how about a "<p-" operator? >> >> Dear Carl, >> >> I think that the following does what you want: >> >> > `%<-%` <- function(e1, e2){ >> + e1 <- deparse(substitute(e1)) >> + env <- parent.frame() >> + assign(e1, e2, envir=env) >> + e2 >> + } >> >> > x %<-% 10 >> [1] 10 >> >> > x >> [1] 10 >> >> But, as has been pointed out, it's probably easier just to >> parenthesize the >> usual assignment command. >> >> Regards, >> John >> >> -------------------------------- >> John Fox >> Senator William McMaster >> Professor of Social Statistics >> Department of Sociology >> McMaster University >> Hamilton, Ontario, Canada >> http://socserv.mcmaster.ca/jfox >> >> >> >> >> > -----Original Message----- >> > From: r-help-boun...@r-project.org >> [mailto:r-help-boun...@r-project.org] >> > On Behalf Of Carl Witthoft >> > Sent: March-30-11 7:00 PM >> > To: r-help@r-project.org >> > Subject: [R] how about a "<p-" operator? >> > >> > I was cursing Matlab again today (what else is new) because >> the default >> > action for every Matlab command is to spew the result to >> the console, and >> > one must remember to put that darn ";" at the end of every line. >> > >> > So I just wondered: was there ever a discussion as to >> providing some >> > modified version of the "<-" and "->" operators in R to do >> the reverse? >> > That is, since R does not print the values of a command >> to the console, >> > what if there were an operator such that >> > >> > >> > newobject <p- somefunction() >> > >> > would do the same as >> > >> > print(newobject <- somefunction()) >> > >> > >> > Any thoughts? >> > Carl >> > >> > ______________________________________________ >> > 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. >> >> ______________________________________________ >> 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. >> > > ______________________________________________ > 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. > ______________________________________________ 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.