View source code
							
							
						
								Display the source code in std/array.d from which this
								page was generated on github.
							
						
							Report a bug
							
						
								If you spot a problem with this page, click here to create a
								Bugzilla issue.
							
						
							
								Improve this page
							
							
					
								Quickly fork, edit online, and submit a pull request for this page.
								Requires a signed-in GitHub account. This works well for small changes.
								If you'd like to make larger changes you may want to consider using
								local clone.
							
						Function std.array.assocArray
Returns a newly allocated associative array from a range of key/value tuples or from a range of keys and a range of values.
						
				auto assocArray(Range)
				(
				
				  Range r
				
				)
				
				if (isInputRange!Range);
				
				
				auto assocArray(Keys, Values)
				(
				
				  Keys keys,
				
				  Values values
				
				)
				
				if (isInputRange!Values && isInputRange!Keys);
						
					
				Parameters
| Name | Description | 
|---|---|
| r | An input range of tuples of keys and values. | 
| keys | An input range of keys | 
| values | An input range of values | 
Returns
A newly allocated associative array out of elements of the input range, which must be a range of tuples (Key, Value) or a range of keys and a range of values. If given two ranges of unequal lengths after the elements of the shorter are exhausted the remaining elements of the longer will not be considered. Returns a null associative array reference when given an empty range.
Duplicates
Associative arrays have unique keys. If r contains duplicate keys, then the result will contain the value of the last pair for that key in r.
See Also
Tuple, std
Example
import std .range : repeat, zip;
import std .typecons : tuple;
import std .range .primitives : autodecodeStrings;
auto a = assocArray(zip([0, 1, 2], ["a", "b", "c"])); // aka zipMap
static assert(is(typeof(a) == string[int]));
writeln(a); // [0:"a", 1:"b", 2:"c"]
auto b = assocArray([ tuple("foo", "bar"), tuple("baz", "quux") ]);
static assert(is(typeof(b) == string[string]));
writeln(b); // ["foo":"bar", "baz":"quux"]
static if (autodecodeStrings)
    alias achar = dchar;
else
    alias achar = immutable(char);
auto c = assocArray("ABCD", true .repeat);
static assert(is(typeof(c) == bool[achar]));
bool[achar] expected = ['D':true, 'A':true, 'B':true, 'C':true];
writeln(c); // expected
Authors
License
					Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.