如何在QBasic中查找数组参数的维度

时间:2014-08-31 15:18:09

标签: arrays function qbasic

我有一个QBasic函数,它将两个数组作为参数。我想知道是否有可能找到这些数组在函数中的维数。

对于上下文,我正在为QBasic单元测试库编写一个assertArrayEqual函数。

2 个答案:

答案 0 :(得分:0)

没有办法实现这一目标。如上所述,您可以确定下限和上限,但必须事先知道数组包含多少维。据我所知,这甚至不适用于更高级别的版本。

答案 1 :(得分:0)

它可以完成,但它并不漂亮:( QB64来源)。

REM sample code to find number of dimensions in an array
DIM a(2, 2, 2) AS INTEGER
DIM SHARED E AS INTEGER
ON ERROR GOTO 10
CALL array(a())
END
10 E = -1: RESUME NEXT
SUB array (a() AS INTEGER)
DO
    X = X + 1
    T = UBOUND(a, X)
    IF E THEN
        X = X - 1
        PRINT "Array has"; X; "dimensions."
        EXIT DO
    END IF
LOOP
END SUB