[Rd] Warning when calling formals() for `[`.
Hi, A short code example showing the warning might the only thing needed here: ``` > formals(args(`[`)) NULL *Warning message:In formals(fun) : argument is not a function* > is.function(`[`) [1] TRUE > is.primitive(`[`) [1] TRUE ``` Now with an other primitive: ``` > formals(args(`sum`)) $... $na.rm [1] FALSE > is.function(`sum`) [1] TRUE > is.primitive(`sum`) [1] TRUE > class(`[`) [1] "function" ``` Is this a feature ? Laurent [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Warning when calling formals() for `[`.
Hello, I believe that this is maybe not a *feature* but at least expected behaviour. The call formals(args(`[`)) breaks down to > args(`[`) NULL > formals(NULL) NULL Warning message: In formals(fun) : argument is not a function Hope this helps, Rui Barradas Às 18:26 de 06/10/2018, Laurent Gautier escreveu: Hi, A short code example showing the warning might the only thing needed here: ``` formals(args(`[`)) NULL *Warning message:In formals(fun) : argument is not a function* is.function(`[`) [1] TRUE is.primitive(`[`) [1] TRUE ``` Now with an other primitive: ``` formals(args(`sum`)) $... $na.rm [1] FALSE is.function(`sum`) [1] TRUE is.primitive(`sum`) [1] TRUE class(`[`) [1] "function" ``` Is this a feature ? Laurent [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Warning when calling formals() for `[`.
Hello, I forgot to ask you to also try to break the `sum` instruction into its components: args(`sum`) does return a function. Therefore formals(args(`sum`)) returns something useable and no warning. Rui Barradas Às 18:42 de 06/10/2018, Rui Barradas escreveu: Hello, I believe that this is maybe not a *feature* but at least expected behaviour. The call formals(args(`[`)) breaks down to > args(`[`) NULL > formals(NULL) NULL Warning message: In formals(fun) : argument is not a function Hope this helps, Rui Barradas Às 18:26 de 06/10/2018, Laurent Gautier escreveu: Hi, A short code example showing the warning might the only thing needed here: ``` formals(args(`[`)) NULL *Warning message:In formals(fun) : argument is not a function* is.function(`[`) [1] TRUE is.primitive(`[`) [1] TRUE ``` Now with an other primitive: ``` formals(args(`sum`)) $... $na.rm [1] FALSE is.function(`sum`) [1] TRUE is.primitive(`sum`) [1] TRUE class(`[`) [1] "function" ``` Is this a feature ? Laurent [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Warning when calling formals() for `[`.
Hi, Thanks for the note. How would explain the following snippet taken from `formals` doc page (the code comment is also from that doc) ? ## formals returns NULL for primitive functions. Use it in combination with ## args for this case. is.primitive(`+`) formals(`+`) formals(args(`+`)) Le sam. 6 oct. 2018 à 13:42, Rui Barradas a écrit : > Hello, > > I believe that this is maybe not a *feature* but at least expected > behaviour. > > The call formals(args(`[`)) breaks down to > > > > args(`[`) > NULL > > formals(NULL) > NULL > Warning message: > In formals(fun) : argument is not a function > > > Hope this helps, > > Rui Barradas > > > Às 18:26 de 06/10/2018, Laurent Gautier escreveu: > > Hi, > > > > A short code example showing the warning might the only thing needed > here: > > > > ``` > >> formals(args(`[`)) > > NULL > > > > *Warning message:In formals(fun) : argument is not a function* > >> is.function(`[`) > > [1] TRUE > >> is.primitive(`[`) > > [1] TRUE > > ``` > > > > Now with an other primitive: > > > > ``` > >> formals(args(`sum`)) > > $... > > > > > > $na.rm > > [1] FALSE > > > >> is.function(`sum`) > > [1] TRUE > >> is.primitive(`sum`) > > [1] TRUE > >> class(`[`) > > [1] "function" > > ``` > > > > Is this a feature ? > > > > > > Laurent > > > > [[alternative HTML version deleted]] > > > > __ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel