May 03, 2017
On Tuesday, 2 May 2017 at 16:34:15 UTC, H. S. Teoh wrote:
> On Tue, May 02, 2017 at 02:37:20PM +0000, ANtlord via Digitalmars-d-learn wrote:
>> On Tuesday, 2 May 2017 at 12:41:01 UTC, Jacob Carlborg wrote:
>> > 
>> > Note that when declared as "enum", all places it's referenced, a new associative array will be allocated.
>> 
>> If it is allocated at all places I can move initialization to module ctor as says evilrat but how can I make an immutable associative array?
>
> Just declare it immutable. The module ctor can still initialize it, because ctors are allowed to initialize immutables:
>
> ------
> 	immutable string[string] dict;
> 	static this() {
> 		dict = [
> 			"abc": "def",
> 			"ghi": "lmn"
> 		];
> 	}
> 	void main() {
> 		import std.stdio;
> 		writeln(dict["abc"]);
> 	}
> ------
>
>
> T

Thanks a lot!
1 2
Next ›   Last »