Re: [Rd] Problem with args
On Apr 21, 2012, at 1:45 PM, Gabor Grothendieck wrote: > On Sat, Apr 21, 2012 at 1:38 PM, Simon Urbanek > wrote: >> >> On Apr 21, 2012, at 1:03 PM, Gabor Grothendieck wrote: >> >>> args ought to check that its argument is a function: >>> max <- 3 args(max) >>> NULL >>> >>> e.g. >>> args <- function(name) { >>> + name <- match.fun(name) >>> + base::args(name) >>> + } args(max) >>> function (..., na.rm = FALSE) >>> NULL >>> >> >> You may want to read the docs in the first place: >> >> Value: >> [...] >> >> 'NULL' in case of a non-function. >> > > My post wasn't about the return value -- it was about the fact that the > function name can be masked. Try the example I posted. I also posted a > solution. > You're passing a non-function (the value of 3) so, obviously you get NULL. I think you're confusing function calls with values. What you probably intended was > args("max") function (..., na.rm = FALSE) NULL (again, see the documentation). __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Problem with args
On Sat, Apr 21, 2012 at 2:10 PM, Simon Urbanek wrote: > > On Apr 21, 2012, at 1:45 PM, Gabor Grothendieck wrote: > >> On Sat, Apr 21, 2012 at 1:38 PM, Simon Urbanek >> wrote: >>> >>> On Apr 21, 2012, at 1:03 PM, Gabor Grothendieck wrote: >>> args ought to check that its argument is a function: > max <- 3 > args(max) NULL e.g. > args <- function(name) { + name <- match.fun(name) + base::args(name) + } > args(max) function (..., na.rm = FALSE) NULL >>> >>> You may want to read the docs in the first place: >>> >>> Value: >>> [...] >>> >>> 'NULL' in case of a non-function. >>> >> >> My post wasn't about the return value -- it was about the fact that the >> function name can be masked. Try the example I posted. I also posted a >> solution. >> > > You're passing a non-function (the value of 3) so, obviously you get NULL. I > think you're confusing function calls with values. What you probably intended > was > That's only a workaround but it does not address the problem that args ought not to work that way. args can gather all the information needed to fetch the correct object but doesn't. The second example shows how it should work. -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Problem with args
On Sat, Apr 21, 2012 at 1:38 PM, Simon Urbanek wrote: > > On Apr 21, 2012, at 1:03 PM, Gabor Grothendieck wrote: > >> args ought to check that its argument is a function: >> >>> max <- 3 >>> args(max) >> NULL >> >> e.g. >> >>> args <- function(name) { >> + name <- match.fun(name) >> + base::args(name) >> + } >>> args(max) >> function (..., na.rm = FALSE) >> NULL >> > > You may want to read the docs in the first place: > > Value: > [...] > > 'NULL' in case of a non-function. > My post wasn't about the return value -- it was about the fact that the function name can be masked. Try the example I posted. I also posted a solution. -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Problem with args
On Apr 21, 2012, at 1:03 PM, Gabor Grothendieck wrote: > args ought to check that its argument is a function: > >> max <- 3 >> args(max) > NULL > > e.g. > >> args <- function(name) { > + name <- match.fun(name) > + base::args(name) > + } >> args(max) > function (..., na.rm = FALSE) > NULL > You may want to read the docs in the first place: Value: [...] 'NULL' in case of a non-function. Cheers, S __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] Problem with args
args ought to check that its argument is a function: > max <- 3 > args(max) NULL e.g. > args <- function(name) { + name <- match.fun(name) + base::args(name) + } > args(max) function (..., na.rm = FALSE) NULL -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel