R Send( )でのJMPデータタイプとRデータタイプの対応に、R Send( )関数でJMPからRに変数を送った場合に、JMPのデータタイプ(データ型)が、Rにおいて、どのような型に変換されるかを示します。リストの場合は、リスト内の要素ごとにデータタイプをチェックして、変換します。なお、入れ子になっているリストも、サポートされています。
R Init();
X = 1;
R Send( X );
S = "Report Title";
R Send( S );
M = [1 2 3, 4 5 6, 7 8 9];
R Send( M );
R Submit( "
X
S
M
" );
R Term();
R Get( )でのJMPデータタイプとRデータタイプの対応に、R Get( )関数でRからJMPに変数を取得した場合に、Rのデータタイプ(データ型)が、JMPにおいて、どのような型に変換されるかを示します。リストの場合は、リスト内の要素ごとにデータタイプをチェックして、変換します。なお、入れ子になっているリストも、サポートされています。
R Send()関数によって、JMPの変数をRに送った場合、Rオブジェクトの名前には、JMPの変数と同じ名前が付けられます。たとえば、dtというJMP変数をRに送ると、dtという名前のRオブジェクトが作成されます。コロンおよび2重コロンのスコープ演算子(:および::)は、Rオブジェクト名に使用できないため、次のように変換されます。
•
|
1重コロンのスコープ演算子はピリオド(.)に置き換えられます。
|
R Send( jmp_var_name, R Name( "r_var_name") );
R Submit( "print(r_var_name)" )
次の例は、Here名前空間内に変数x、グローバル名前空間内に変数y、そしてどの名前空間にも明示的に参照されない変数zを作成します。変数zは、Names Default To Here(1)がオンでない限り、デフォルトでグローバルに設定されます。これらの変数は、その後、Rに渡されます。
Here:x = 1;
::y = 2;
z = 3;
R Init(); // R接続を開始する
R Send( Here:x );
/* Here変数をRに送る
Here:xはRオブジェクトのHere.xとなる */
R Submit( "print(Here.x)" );
/* JMPログの出力では、元のJMP変数の参照であるHere:xが使用される */
R Send( ::y ); // ::yはRオブジェクトのyとなる
R Submit( "print(y)" );
R Send( Here:x, R Name( "localx" ) );
// Rオブジェクトに別の名前をつけるには、R Name()オプションを使用する
R Submit( "print(localx)" );
/* R Send()コマンドをR Nameオプションとともに使用すれば、JMP変数"Here:x"に相当するRオブジェクト"localx"が作成できる。この場合も、ログには元のJMP変数名が表示される */
R Send( z ); // zはRオブジェクトzとなる
R Submit( "print(z)" );