[Rd] issue with promises for time parameter of rep()

Lionel Henry lionel at rstudio.com
Tue Sep 19 10:49:14 CEST 2017


Here is the same issue with closures:

    g <- function(n) {
      missing(n)
    }
    f <- function(n, force) {
      if (force) {
        tryCatch(n, error = function(...) NULL)
      }
      g(n)
    }

    g(`_x`)
    #> [1] FALSE

    f(`_x`, force = FALSE)
    #> [1] FALSE

    f(`_x`, force = TRUE)
    #> [1] TRUE

Lionel

> On 18 sept. 2017, at 19:06, Homer White <homerhanumat at gmail.com> wrote:
> 
> Greetings,
> 
> The following is based on a question I raised on Stackoverflow:
> 
> https://stackoverflow.com/questions/46280120/calling-printls-str-in-function-affect-behavior-of-rep/46283979#46283979
> 
> Start a new R session with an empty Global Env.  Then define:
> 
> f <- function(n) {
>  print(ls.str())
>  rep("hello", times = n)
> }
> 
> Now run:
> 
> f(x)
> 
> Instead of getting the expected "object 'x' not found" error, you get:
> 
> n : <missing>[1] "hello"
> 
> It was suggested that I file the issue here as a possible bug.
> 
> 
> Regards,
> 
> Homer
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list