我一直在尝试使用数组和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;
我收到错误: 不允许混合使用隐式和显式数组下载。
谢谢!
答案 0 :(得分: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;
也是可以接受的 - 比完全拼写它们要容易得多。