[Rd] deparse operators in expressions

Duncan Murdoch murdoch.duncan at gmail.com
Sun Apr 10 20:26:09 CEST 2011


On 10/04/2011 2:08 PM, Yihui Xie wrote:
> Thanks for pointing out the direction. Since this is unlikely to
> change in base R, is it possible to change from an add-on package?

Of course.  Just write your own deparse function.  You can start with 
the code from the standard one, and make any changes you like.

Alternatively, just type your code the way you like it, and use 
keep.source to have it displayed as you entered it.


> I think it is reasonable to eliminate spaces around ^ and :, but I
> don't understand why /, %% and %/% should be different with other
> arithmetic operators like +, - and *.

I looked it up, and it has been like that since revision 2 when this 
code was first committed to our repository in 1997.   I imagine whoever 
wrote it was following the pattern of some other language (maybe S), or 
maybe just their own personal taste.

Duncan Murdoch


>
> Regards,
> Yihui
> --
> Yihui Xie<xieyihui at gmail.com>
> Phone: 515-294-2465 Web: http://yihui.name
> Department of Statistics, Iowa State University
> 2215 Snedecor Hall, Ames, IA
>
>
>
> On Sun, Apr 10, 2011 at 8:20 AM, Duncan Murdoch
> <murdoch.duncan at gmail.com>  wrote:
>> On 11-04-09 9:43 PM, Yihui Xie wrote:
>>>
>>> Hi,
>>>
>>> I observed a slight problem in deparse(): it will add spaces around
>>> most operators except /. I wonder if this is easy to fix. I know this
>>> is quite trivial, but I will appreciate if / is not treated as an
>>> exception. Examples:
>>
>> It's easy to change:  take a look at src/main/deparse.c.  The operators that
>> are labelled as PP_BINARY2 get no spaces.  Looking in src/main/names.c, we
>> see those are /, ^, %%, %/% and :.
>>
>> But clearly this is by design, and I think it's unlikely to change.
>>
>> Duncan Murdoch
>>



More information about the R-devel mailing list