[Rd] Changed behaviour when passing a function?
Gabriel Becker
gmbecker at ucdavis.edu
Thu Oct 22 23:08:37 CEST 2015
Joris,
When a function call (detected via the parenthesis) R does the equivalent
of get(..., mode="function") to resolve the symbol.
> round = 2
> round(5.3)
[1] 5
> get("round")
[1] 2
> get("round", mode = "function")
function (x, digits = 0) .Primitive("round")
It's done this for a while, but didn't always do it, I think. I don't know
when the change happened.
Best,
~G
On Thu, Oct 22, 2015 at 10:59 AM, Joris Meys <jorismeys at gmail.com> wrote:
> Hi all,
>
> When teaching this year's class, I was quite amazed that one of my examples
> didn't work any longer. I wanted to illustrate the importance of
> match.fun() with following code:
>
> myfun <- function(x, FUN, ...){
> FUN(x, ...)
> }
> round <- 2
> myfun(0.85, FUN = round, digits=1)
>
> I expected to see an error, but this code doesn't generate one. It seems as
> if in the current R version match.fun() is added automatically.
>
> I've scrolled through the complete R News section specifying all the
> changes and bug fixes, starting from 3.0.0. I couldn't find anything on
> that change in behaviour though. Where can I find more information on what
> changed exactly?
>
> Thanks
> Cheers
> Joris
>
> --
> Joris Meys
> Statistical consultant
>
> Ghent University
> Faculty of Bioscience Engineering
> Department of Mathematical Modelling, Statistics and Bio-Informatics
>
> tel : +32 (0)9 264 61 79
> Joris.Meys at Ugent.be
> -------------------------------
> Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Gabriel Becker, PhD
Associate Scientist (Bioinformatics)
Genentech Research
[[alternative HTML version deleted]]
More information about the R-devel
mailing list