[graalvm-users] Setting attributes inconsistencies
Chris Seaton
chris.seaton at oracle.com
Fri Jul 6 14:31:08 PDT 2018
Maybe this is something to do with the `dim<-` method? I don’t know anything about R but I guess that’s called when you do `names(something) =`. Can you try making a simple test case that just tests that these kind of methods can be called correctly? Maybe something about it messes up the arguments?
Chris
> On 6 Jul 2018, at 17:41, Rodrigo Botafogo <rodrigo.a.botafogo at gmail.com> wrote:
>
> Hello,
>
> I'm trying to set attributes to an r object using interop. For some attributes everything works fine and for others the attribute is not set.
>
> Here what I'm trying in R:
>
> R.eval(<<-R)
> vect = c(1, 2, 3, 4, 5, 6);
> names(vect) = c("a", "b", "c", "d", "e", "f");
> print(vect);
> dim(vect) = c(3, 2);
> print(vect)
> R
>
> The first print show the names set:
>
> a b c d e f
> 1 2 3 4 5 6
>
> and the second print shows the dimension change. Changing the "dim"
> attribute erases the names attribute:
> [,1] [,2]
> [1,] 1 4
> [2,] 2 5
> [3,] 3 6
>
> Now, doing this using interop:
>
> # pp to allow printing: already reported bug
> pp = Polyglot.eval("R", "function(x) print(x)")
>
> vec = Polyglot.eval("R", "c").call(1, 2, 3, 4, 5, 6)
> nams = Polyglot.eval("R", "c").call("a", "b", "c", "d", "e", "f")
> Polyglot.eval("R", "`names<-`").call(vec, nams)
> pp.call(vec)
>
> this prints as expected the vector with the names attribute:
>
> a b c d e f
> 1 2 3 4 5 6
>
> dims = Polyglot.eval("R", "c").call(3, 2)
> Polyglot.eval("R", "`dim<-`").call(vec, dims)
> pp.call(vec)
>
> a b c d e f
> 1 2 3 4 5 6
>
> method dim<- does not seem to have worked. There is no error message or anything after calling `dim<-`
>
> Is this a bug or did I do something wrong here? Its strange that some attributes work and others don't.
>
>
>
>
> --
> Rodrigo Botafogo
>
> _______________________________________________
> GraalVM-Users mailing list
> GraalVM-Users at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/graalvm-users
More information about the GraalVM-Users
mailing list