5

Jプログラミング言語で配列アクセスを行うにはどうすればよいですか? たとえば、C++ を疑似コード言語として使用すると、次のようになります。

int M [100];  // declare an array called M
int j = 5;  //index into the array
int y = 10;  //value to store or load from the array

M[j] = y;  // store y into the array

y = M[j];  // load y from the array

この種の配列アクセスは慣用的な J ではどのように見えるでしょうか?

4

1 に答える 1

7

これを J で記述する文字通りの (ただしかなり慣用的な) 方法は次のとおりです。

m =: 100 $ 0   NB. This means create a 1d array consisting of 100 zeros.
j =: 5
y =: 10

その初期化が終わったので、}副詞の 2 つの異なる使用法 ("Item Amend" と "Amend")で構成される答えの要点の準備が整いました。

m =: y j } m

2 つの引数を の左側に置くと、}Jjは右側の引数の th 要素をmvalueに置き換えますy。注:の結果は単に、動詞を使用して要求した変更を組み込んだ新しい配列を計算するmためだったので、結果をに代入する必要がありました。y j } m}

y =: j } m

の左側に引数を 1 つだけ置くと、 J は の番目の要素}を抜粋して返します。この場合、y を結果に設定します。jm

于 2012-06-10T19:29:15.350 に答える