2

配列と DO ループを使用してスケールから一連の変数の名前を変更しようとしましたが、成功しませんでした。これは非常に単純な作業のようです。どこが間違っているかについて何かアドバイスはありますか?

ARRAY ATRSS (i) ATRSS_1  ATRSS_12 ATRSS_13 ATRSS_25 ATRSS_29 ATRSS_30 ATRSS_32 ATRSS_33 ATRSS_35 ATRSS_36;;
Array DIS (10) $ DIS1-DIS10; 

DO i = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
    DIS (i) = ATRSS(i);
END;

エラーが表示されます:暗黙的および明示的な配列添え字の混合は許可されていません。

ありがとう!

4

1 に答える 1

2

array atrss atrss_1 ... ;

最初の行から (i) を削除すれば問題ありません。

それ自体は名前を変更していないことに注意してください-そのように名前を変更することはできません-しかし、もちろん同じ目標を達成します。

そのままでも問題なく動作しますが、これをさらに改善できます。

array atrss atrss_1 atrss_12 atrss_13 atrss_25 atrss_29 atrss_30 atrss_32 atrss_33 atrss-35 atrss_36;
array dis(10);

do i = 1 to dim(atrss);
 dis[i] = atrss[i];
end;

atrss の要素数を変更すると、多少柔軟性が増します。 do i = 1 to 10;とにかく、それぞれを綴るよりもはるかに簡単です。

于 2013-09-05T18:53:54.480 に答える