*-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.
/*
Since a <Value> of a hash's pair may be in any scalar or complex type,
a hash may be nested by assigning an another hash to a hash <Value>.
*/
PROCEDURE Main()
SET COLO TO "W/B"
SetMode( 50, 120 )
CLS
hSouth := { 'Argentina' => "Buenos Aires",;
'Brasil' => "Brasilia",;
'Chile' => "Santiago" }
hNorth:= { 'USA' => "Washington DC",;
'Canada' => "Ottawa",;
'Mexico' => "Mexico City" }
* a hash contains two hashes :
hAmerica := { "America" => { "North" => hNorth,;
"South" => hSouth } }
* Standart array indexing syntax :
? hAmerica[ "America", "North", "USA" ] // Washington DC
* Alternate syntax to indexing :
? hAmerica[ "America"][ "South" ][ "Chile" ] // Santiago
?
@ MAXROW(), 0
WAIT "EOF HashNest.prg"
RETURN // HashNest.Main()
*-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.
Like this:
Like Loading...
Related