From spinuvit.list at gmail.com  Sun Oct 24 15:09:53 2010
From: spinuvit.list at gmail.com (Vitalie S.)
Date: Sun, 24 Oct 2010 15:09:53 +0200
Subject: [Rd] "$<-" fails (invalid subscript type 'language')
References: <cpnwrp7zs2t.fsf@gmail.com>
Message-ID: <cpnsjzvzqhq.fsf@gmail.com>


spinuvit.list at gmail.com (Vitalie S.) writes:
> This might be just beyond of my understanding of how assignment works in R, but
> the documentation does not say anything about:
>
>> tv <- c(a="dsf", b="sss")
>> tl <- list(232)
>> `$<-`(tl, tv[[1]], "sdfdsfdsfsd")
> Error: invalid subscript type 'language'
>

I can partially solve this with do.call, but there is another problem. Quoted
expressions are evaluated during the assignment:

te <- new.env()
> tq <- quote(print("!!!!"))
> do.call("$<-", list(te, "aa", tq))
[1] "!!!!"

This is some weird do.call and $<- interaction. Does not happen with other
functions.

> This happens even before the method is dispatched. I can not handle the
> "name" argument in my S4 method, because it's not even entered.
>
> Thanks,
> Vitalie.



[Rd] "$<-" fails (invalid subscript type 'language')
Vitalie S.