spinuvit.l...@gmail.com (Vitalie S.) writes:

>
> I would expect the following to behave identically:
>
>> tv <- c(a="dsf", b="sss")
>> tl <- list(232)
>
>> `$<-`(tl, tv[[1]], "sdfdsfdsfsd")
> Error: invalid subscript type 'language'
>
>> tl$`tv[[1]]` <- "sdfdsfdsfsd"
>> tl
> [[1]]
> [1] 232
>
> $`tv[[1]]`
> [1] "sdfdsfdsfsd"
>
> So what is relay going on? In one case the name is expected, in another case 
> any
> "language" object would work?


>
>> If you insist, you can do things like
>>
>> eval(bquote(`$<-`(x, .(as.name(tv[[1]])), 4343)))
>>
>> or similar constructs using substitute().
>>
>> However, the whole situation suggests that you are really looking for
>> methods for "[[<-".

Yap, I see now, `tv[[1]]` is a name. So no contradiction.

To conclude, only the symbol is allowed as index and I can not do absolutely
anything to make my custom "$" "smarter":(.

Thanks everyone for helping me filter some noise in my head.

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to