D - Associative Array Question
- Terry Bayne (33/33) Jul 28 2003 If I have an associative array of a user defined type (code shown below)...
- Walter (5/38) Jul 28 2003 A new entry for it is created. If you want to see if a value is in or no...
If I have an associative array of a user defined type (code shown below),
what is returned if I attempt to look up a value with a key that is not
found in the associative array? In the function main() shown below, what
would be the value returned for Test2, in the statement:
Test2 = H["Test2"];
In other words what happens when the key which is passed as an index to
an associative array is not a valid key?
Thanks
Terry
// ====== Code Follows ========
enum TypeTag { Str, Int, Long};
struct _DataItem
{
TypeTag Type;
str Value;
};
typedef _DataItem DataItem;
struct _HashData
{
str Name;
DataItem[str] Data;
}
typedef _HashData HashData;
void main()
{
HashData H;
DataItem Test1;
DataItem Test2;
Test1.Type = Str;
Test1.Value = "Test1";
H["Test1"] = Test1;
Test2 = H["Test2"];
}
Jul 28 2003
A new entry for it is created. If you want to see if a value is in or not,
do:
if ("Test2" in H)
"Terry Bayne" <gnome hiwaay.net> wrote in message
news:Xns93C6663511098tbaynehiwaaynet 63.105.9.61...
If I have an associative array of a user defined type (code shown below),
what is returned if I attempt to look up a value with a key that is not
found in the associative array? In the function main() shown below, what
would be the value returned for Test2, in the statement:
Test2 = H["Test2"];
In other words what happens when the key which is passed as an index to
an associative array is not a valid key?
Thanks
Terry
// ====== Code Follows ========
enum TypeTag { Str, Int, Long};
struct _DataItem
{
TypeTag Type;
str Value;
};
typedef _DataItem DataItem;
struct _HashData
{
str Name;
DataItem[str] Data;
}
typedef _HashData HashData;
void main()
{
HashData H;
DataItem Test1;
DataItem Test2;
Test1.Type = Str;
Test1.Value = "Test1";
H["Test1"] = Test1;
Test2 = H["Test2"];
}
Jul 28 2003








"Walter" <walter digitalmars.com>