Η 8.1 έκδοση υποστηρίζει jagged Πίνακες ή αλλιώς πίνακες που έχουν πίνακες. Στην αναθεώρηση 3 έφτιαξα το Dimension() ή Διάσταση() να δουλεύει και για jagged arrays.
\\ M2000 Jagged array
Dim a(3)
Function dimany {
dim a(number)
=a()
}
Function dim2any {
dim a(number, number)
=a()
}
A(0)=dimany(10)
A(1)=dimany(4)
A(2)=dimany(2)
A(0)(8)=100
Print A(0)(8)
A(1)(2)=101
Print A(1)(2)
A(2)(0)=102
Print A(2)(0)
A(0)(0)=dim2any(30,2)
A(0)(0)(5,1)=500
Print A(0)(0)(5,1)
For i=1 to Dimension(A(0)(0)())
Print i, Dimension(A(0)(0)(),i) ' 30..2
Next i
Print Dimension(A(0)(),1) '10
Print Dimension(A(),1) '3
Δείτε και αυτό (δίνουμε αντίγραφο, όχι αναφορά σε πίνακα):
Dim A(10)=3
Dim B(3)
\\ we get a copy not a reference
B(0)=A()
A(0)=5
B(1)=A()
Print B(0)(0), B(1)(0) ' 3...5
\\ M2000 Jagged array
Dim a(3)
Function dimany {
dim a(number)
=a()
}
Function dim2any {
dim a(number, number)
=a()
}
A(0)=dimany(10)
A(1)=dimany(4)
A(2)=dimany(2)
A(0)(8)=100
Print A(0)(8)
A(1)(2)=101
Print A(1)(2)
A(2)(0)=102
Print A(2)(0)
A(0)(0)=dim2any(30,2)
A(0)(0)(5,1)=500
Print A(0)(0)(5,1)
For i=1 to Dimension(A(0)(0)())
Print i, Dimension(A(0)(0)(),i) ' 30..2
Next i
Print Dimension(A(0)(),1) '10
Print Dimension(A(),1) '3
Δείτε και αυτό (δίνουμε αντίγραφο, όχι αναφορά σε πίνακα):
Dim A(10)=3
Dim B(3)
\\ we get a copy not a reference
B(0)=A()
A(0)=5
B(1)=A()
Print B(0)(0), B(1)(0) ' 3...5
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.