Un índice cero es perfectamente válido si piensa que el índice es realmente un desplazamiento de la dirección base de una matriz. De hecho, esa es la norma, aunque varía de un dialecto a otro. Con el antiguo lenguaje Jovial, en [0]
realidad contenía el tamaño máximo de la matriz. por lo que comenzó con [1]
.
Con algunas implementaciones básicas, puede elegir arbitrariamente tener uno 0
o 1
el primer índice. Y al menos un básico le permite designar a matrices índice de Fron [n]
a [m]
. donde n
y m
puede tener cualquier valor entero, incluso negativo, siempre que n
sea menor o igual que m
. El valor de n
ellos se resta de lo [index]
ingresado, como index-n = 0
si el índice correspondiera n
.
Pero puede hacer lo mismo y más en su propio código. Incluso puede invertir el orden de una matriz de esta manera:
dim array(0, abs(m-n));
step=sign(m-n);
if n > m then
base=m
else
base=n;
fi
Este ejemplo de código es en realidad solo en parte de un idioma. Solo quería que fuera más legible. La variable de paso se usa para controlar la dirección aparente en la que se está moviendo, ya sea positiva o negativa, y se usa para calcular el índice efectivo al entrar o salir de la matriz, que en realidad siempre es positivo [0]
.
${array[@]}
entre comillas dobles. De lo contrario, se dividirá la palabra y obtendrá resultados no deseados, en entradas comoarray=("item 1" "item 2" "item 3")
.