1

Java コードから、Renjin に data.frame をプッシュしています。このデータ フレームの最初のベクトルには、ネイティブ Java オブジェクトが ExternalPtr として含まれています。R コードからこれらのオブジェクトにアクセスするなど、すべて正常に動作します。それにもかかわらず、print() 関数を使用してこれらのオブジェクトを (デバッグ目的で) 印刷してもあまり役に立たないことに気付きました。

print( ptr )

クラス名と一種のハッシュコードを出力しています:

<pointer: foo.Class@f0815dc

同様に

print( list-of-ptr )

印刷中:

[[1]] <pointer: foo.Class@3a915df8  
[[2]] <pointer: foo.Class@2e4b32f7

とにかく #toString() または他の Java メソッドを呼び出す必要はありますか?

ところで、データ フレーム全体を印刷すると例外がスローされることに気付きました。

Caused by: org.renjin.eval.EvalException: Invalid argument:
    format(externalptr, logical, NULL, integer, NULL, integer, logical, logical)
    Expected:
    format(character, logical(1), any, any, any, integer(1), logical(1), any)
    format(LogicalVector, logical(1), any, any, any, integer(1), logical(1), any)
    format(DoubleVector, logical(1), any, integer(1), any, integer(1), logical(1), any)
    format(IntVector, logical(1), any, integer(1), any, integer(1), logical(1), any)
    at org.renjin.primitives.R$primitive$format.doApply(R$primitive$format.java:96)

とにかくそれを防ぐことはありますか?

4

0 に答える 0