Indeks nol benar-benar valid jika Anda menganggap indeks sebagai benar-benar offset dari alamat basis array. Sebenarnya itu adalah norma, meskipun bervariasi dari dialek ke dialek. Dengan bahasa Riang tua, [0]
sebenarnya berisi ukuran maksimum array. jadi itu dimulai dengan [1]
.
Dengan beberapa implementasi Dasar, Anda dapat secara sewenang-wenang memilih untuk memiliki salah satu 0
atau 1
sebagai indeks pertama. Dan setidaknya satu Basic memungkinkan Anda untuk menunjuk array indeks fron [n]
untuk [m]
. di mana n
dan m
dapat memiliki nilai integer, bahkan negatif, selama n
kurang dari atau sama dengan m
. Nilai n
mereka menjadi dikurangi dari yang [index]
dimasukkan, seolah- index-n = 0
olah indeks sesuai dengan n
.
Tetapi Anda dapat melakukan hal yang sama dan lebih banyak lagi dalam kode Anda sendiri. Anda bahkan dapat membalik urutan array dengan cara ini:
dim array(0, abs(m-n));
step=sign(m-n);
if n > m then
base=m
else
base=n;
fi
Contoh kode ini sebenarnya hanya sebagian dari satu bahasa. Saya hanya ingin itu lebih mudah dibaca. Variabel langkah digunakan untuk mengontrol arah yang Anda lihat apakah positif atau negatif, dan digunakan untuk menghitung indeks efektif ketika masuk atau keluar dari array, yang sebenarnya selalu positif dari [0]
.
${array[@]}
tanda kutip ganda. Jika tidak, pemisahan kata akan dilakukan dan Anda akan mendapatkan hasil yang tidak diinginkan, pada input sepertiarray=("item 1" "item 2" "item 3")
.