May 03, 2017 Re: Top level associative arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to H. S. Teoh | 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!
|
Copyright © 1999-2021 by the D Language Foundation