<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Making a small change on the previous code where &#39;ruby_obj$to_s()&#39; is changed to &#39;ruby_obj@to_s()&#39;<br></div><div><br></div><div>rf = Polyglot.eval(&quot;R&quot;, &lt;&lt;-R)<br>  function(ruby_obj) {<br>    print(ruby_obj);<br>    ruby_obj@to_s();<br>  }<br>R<br><br>h = [1, 2, 3, 4]<br>puts h<br><br>rf.call(h)<br></div><div><div><br></div><div>The result:</div><div><br></div><div>1<br>2<br>3<br>4<br>[polyglot value]<br>[1] 1 2 3 4<br>Error in ruby_obj@to_s :<br>  trying to get slot &quot;to_s&quot; from an object of a basic class (&quot;integer&quot;) with no slots<br><br>An error occurred while loading ./specs/tmp.rb.<br>Failure/Error: rf.call(h)<br><br>RuntimeError:<br>  Error in ruby_obj@to_s :<br>    trying to get slot &quot;to_s&quot; from an object of a basic class (&quot;integer&quot;) with no slots (RError)<br>      from com.oracle.truffle.r.runtime.RErrorHandling.errorcallDfltWithCall(RErrorHandling.java:573)<br>      from com.oracle.truffle.r.runtime.RErrorHandling.errorcallDflt(RErrorHandling.java:494)<br>      from com.oracle.truffle.r.runtime.RError.error0(RError.java:275)<br>      from com.oracle.truffle.r.runtime.RError.error(RError.java:194)<br>      from com.oracle.truffle.r.runtime.nodes.RBaseNode.error(RBaseNode.java:358)<br>      from com.oracle.truffle.r.nodes.access.AccessSlotNode.getSlot(AccessSlotNode.java:87)<br>      from com.oracle.truffle.r.nodes.access.AccessSlotNodeGen.executeAndSpecialize(AccessSlotNodeGen.java:132)<br>      from com.oracle.truffle.r.nodes.access.AccessSlotNodeGen.executeAccess(AccessSlotNodeGen.java:91)<br>      from com.oracle.truffle.r.nodes.builtin.base.Slot.getSlot(Slot.java:157)<br>      from com.oracle.truffle.r.nodes.builtin.base.SlotNodeGen.executeAndSpecialize(SlotNodeGen.java:66)<br>  Translated to internal error<br><br></div><div><br>-- <br><div dir="ltr" class="gmail_signature">Rodrigo Botafogo<br><br></div></div></div></div></div></div>