30 lines
695 B
Plaintext
30 lines
695 B
Plaintext
// arr is an array of string to int. any type can be used in both places.
|
|
var keys: domain(string);
|
|
var arr: [keys] int;
|
|
|
|
// keys can be added to a domain using +, new values will be initialized to the default value (0 for int)
|
|
keys += "foo";
|
|
keys += "bar";
|
|
keys += "baz";
|
|
|
|
// array access via [] or ()
|
|
arr["foo"] = 1;
|
|
arr["bar"] = 4;
|
|
arr("baz") = 6;
|
|
|
|
// write auto-formats domains and arrays
|
|
writeln("Keys: ", keys);
|
|
writeln("Values: ", arr);
|
|
|
|
// keys can be deleted using -
|
|
keys -= "bar";
|
|
|
|
writeln("Keys: ", keys);
|
|
writeln("Values: ", arr);
|
|
|
|
// chapel also supports array literals
|
|
var arr2 = [ "John" => 3, "Pete" => 14 ];
|
|
|
|
writeln("arr2 keys: ", arr2.domain);
|
|
writeln("arr2 values: ", arr2);
|