Associative Array Question
Steven Schveighoffer
schveiguy at gmail.com
Fri Jan 1 17:45:23 UTC 2021
On 12/31/20 8:54 PM, Adam D. Ruppe wrote:
> On Friday, 1 January 2021 at 01:43:50 UTC, Chris Bare wrote:
>> a1[10] = "testing a1";
>
> this actually constructs a new thing since it is a straight x = y
> assignment.
>
>> a2[10].name = "testing a2";
>
> But this looks up something first. It doesn't construct a2[10], it looks
> it up first to fetch the name member... hence the range violation since
> it isn't constructed yet.
>
>
>> a3[10] = new Project;
>
> and this again will construct since it is a straight x = y again.
>
>
>
> So you could also do
>
> a2[10] = Person()
>
> then do the lookup of name
or a2[10] = Person(null, "testing a2")
-Steve
More information about the Digitalmars-d-learn
mailing list