Hello,
Inline.
Às 15:07 de 07/10/2018, Laurent Gautier escreveu:
Note that having "function" in its class attribute does not make an
object a primitive.
I did not say it does.
What Peter said is that "args() on a primitive should yield a closure"
and this return value is indeed a closure.
> On 7 Oct 2018, at 16:04 , Rui Barradas wrote:
>
> Hello,
>
> I don't see why you say that the documentation seems to be wrong:
>
>
> class(args(`+`))
> #[1] "function"
>
>
> args() on a primitive does return a closure. At least in this case it does.
But in this case it doesn't:
> is.p
Hello,
This is because args(`[`) returns NULL and class(NULL) is NULL.
So the question would be why is the return value of args(`[`) NULL?
Rui Barradas
Às 15:14 de 07/10/2018, Peter Dalgaard escreveu:
On 7 Oct 2018, at 16:04 , Rui Barradas wrote:
Hello,
I don't see why you say that the d
Hello,
This is the *third* time I send this, the first two I had a failure
notice so if you have already received it please apologize.
I believe this is consistent with the doc.
From section Value:
formals returns the formal argument list of the function specified, as a
pairlist, or NULL fo
Note that having "function" in its class attribute does not make an object
a primitive.
For example:
> class(`[`)
[1] "function"
> is.primitive(`[`)
[1] TRUE
> class(`rnorm`)
[1] "function"
> is.primitive(`rnorm`)
[1] FALSE
Le dim. 7 oct. 2018 à 10:04, Rui Barradas a écrit :
> Hello,
>
> I don
Hello,
I don't see why you say that the documentation seems to be wrong:
class(args(`+`))
#[1] "function"
args() on a primitive does return a closure. At least in this case it does.
Rui Barradas
Às 14:05 de 07/10/2018, Peter Dalgaard escreveu:
There is more "fun" afoot here, but I don't r
There is more "fun" afoot here, but I don't recall what the point may be:
> args(get("+"))
function (e1, e2)
NULL
> args(get("["))
NULL
> get("[")
.Primitive("[")
> get("+")
function (e1, e2) .Primitive("+")
The other index operators, "[[", "[<-", "[[<-" are similar
The docs are pretty clear t