70 lines
1.2 KiB
Plaintext
70 lines
1.2 KiB
Plaintext
// Harbour multidimensional arrays support
|
|
|
|
function Main()
|
|
|
|
local a := { 100, 200, "Third" }
|
|
local b := Array( 8832 ) // 8832 elements !!! Maximum for 16 Bit !!!
|
|
|
|
QOut( ValType( a ) )
|
|
QOut( ValType( { "A" } ) )
|
|
|
|
AAdd( a, "new element" )
|
|
QOut( Len( a ) )
|
|
|
|
QOut( a[ 1 ] )
|
|
QOut( a[ 2 ] )
|
|
QOut( a[ 3 ] )
|
|
QOut( a[ 4 ] )
|
|
|
|
QOut( ATail( a ) )
|
|
|
|
a[ 3 ] = { "this", { "seems", "to", { "work", "so", "well" } } }
|
|
* QOut( a[ 3 ][ 2 ][ 3 ][ 1 ] ) // "work"
|
|
|
|
a[ 3, 2 ][ 3, 1 ] := "Harbour power!" // different ways to specify the indexes
|
|
QOut( a[ 3, 2, 3, 1 ] )
|
|
|
|
QOut( ValType( b ) )
|
|
QOut( Len( b ) )
|
|
|
|
b[ 8832 ] = "Harbour"
|
|
|
|
QOut( b[ 8832 ] )
|
|
|
|
QOut( atail( b ) )
|
|
|
|
ASize( b, 200 )
|
|
QOut( Len( b ) )
|
|
|
|
b[ 100 ] = 10
|
|
Test( b[ 100 ]++ )
|
|
QOut( b[ 100 ] )
|
|
|
|
b[ 100 ] = 10
|
|
Test( ++b[ 100 ] )
|
|
QOut( b[ 100 ] )
|
|
|
|
b = { 1, { 2, { 4, 5 } } }
|
|
Test( b[ 2 ][ 2 ][ 1 ]++ )
|
|
QOut( b[ 2 ][ 2 ][ 1 ] )
|
|
|
|
b[ 2 ][ 2 ][ 1 ] = 2
|
|
Test( ++b[ 2 ][ 2 ][ 1 ] )
|
|
QOut( b[ 2 ][ 2 ][ 1 ] )
|
|
|
|
ReleaseTest()
|
|
|
|
return nil
|
|
|
|
function Test( n )
|
|
|
|
QOut( n )
|
|
|
|
return nil
|
|
|
|
function ReleaseTest()
|
|
|
|
local a := { 1, 2, 3 }
|
|
|
|
return nil
|