Thread overview | |||||
---|---|---|---|---|---|
|
May 01, 2006 Initializing associative arrays | ||||
---|---|---|---|---|
| ||||
If I've got this array: char[][][char[]] arr; and want to initialize it, what do I do? I couldn't make the initializer syntax work, I tried this: arr = [["key1"]: ["one", "two"]]; Then I resorted to this: static this() { arr["key1"] = split("one two"); } And that works, but doesn't strike me as particularly obvious or practical. It's a lot like the string list initializer trick I often use in python code. Have I overlooked something here? Or maybe static initializers just aren't the right way to go for hashes? |
May 02, 2006 Re: Initializing associative arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tydr Schnubbis | "Tydr Schnubbis" <fake@address.dude> wrote in message news:e35k35$50a$1@digitaldaemon.com... > Have I overlooked something here? Or maybe static initializers just aren't the right way to go for hashes? They simply don't exist in D. Nor do array initializers for any kind of non-static arrays. Except character arrays. They get special treatment. |
May 02, 2006 Re: Initializing associative arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tydr Schnubbis | Tydr Schnubbis wrote: > If I've got this array: > > char[][][char[]] arr; > > and want to initialize it, what do I do? I couldn't make the initializer syntax work, I tried this: > > arr = [["key1"]: ["one", "two"]]; <snip> Problem 1: That isn't an initialiser. An initialiser is what follows the '=' in a _declaration_. Problem 2: You've declared the key type as char[]. But you're trying to use a char[][] as the key. Problem 3: D doesn't currently support initialisers for AAs. Don't ask me why - I guess Walter just hasn't got round to putting it in. But implementing the facility would at least enable this to work: char[][][char[]] arr = ["key1": ["one", "two"]]; Stewart. -- -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS/M d- s:-@ C++@ a->--- UB@ P+ L E@ W++@ N+++ o K-@ w++@ O? M V? PS- PE- Y? PGP- t- 5? X? R b DI? D G e++++ h-- r-- !y ------END GEEK CODE BLOCK------ My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit. |
Copyright © 1999-2021 by the D Language Foundation