| Thread overview | |||||||||
|---|---|---|---|---|---|---|---|---|---|
|
October 01, 2008 associative arrays: | ||||
|---|---|---|---|---|
| ||||
Is there any reason why the following fails with an ArrayBoundsError error?
import std.cstream;
void main ()
{
string [string] array = ["name": "value"];
dout.writefln ("value: %s", array ["name"]);
}
I've been using the following work around, But I'm not sure why the above fails.
...
string [string] array;
array ["name"] = "value";
...
Can anyone explain this?
| ||||
October 01, 2008 Re: associative arrays: | ||||
|---|---|---|---|---|
| ||||
Posted in reply to llee | On Wed, 01 Oct 2008 22:18:55 +0400, llee <Larry@workingwondersus.com> wrote: > Is there any reason why the following fails with an ArrayBoundsError error? > > import std.cstream; > > void main () > { > string [string] array = ["name": "value"]; > dout.writefln ("value: %s", array ["name"]); > } > That's one of the most frequently discussed bugs (or features?). You can't do that (as of now). > I've been using the following work around, But I'm not sure why the above fails. > > ... > string [string] array; > array ["name"] = "value"; > ... > > Can anyone explain this? | |||
October 01, 2008 Re: associative arrays: | ||||
|---|---|---|---|---|
| ||||
Posted in reply to llee | On Wed, Oct 1, 2008 at 8:18 PM, llee <Larry@workingwondersus.com> wrote:
> Is there any reason why the following fails with an ArrayBoundsError error?
>
> import std.cstream;
>
> void main ()
> {
> string [string] array = ["name": "value"];
> dout.writefln ("value: %s", array ["name"]);
> }
>
> I've been using the following work around, But I'm not sure why the above fails.
>
> ...
> string [string] array;
> array ["name"] = "value";
> ...
>
> Can anyone explain this?
>
Might be helpful to know what version of the compiler you're using. This code works for me in 1.034.
| |||
October 01, 2008 Re: associative arrays: | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | On Wed, 01 Oct 2008 23:27:14 +0400, Jarrett Billingsley <jarrett.billingsley@gmail.com> wrote: > On Wed, Oct 1, 2008 at 8:18 PM, llee <Larry@workingwondersus.com> wrote: >> Is there any reason why the following fails with an ArrayBoundsError error? >> >> import std.cstream; >> >> void main () >> { >> string [string] array = ["name": "value"]; >> dout.writefln ("value: %s", array ["name"]); >> } >> >> I've been using the following work around, But I'm not sure why the above fails. >> >> ... >> string [string] array; >> array ["name"] = "value"; >> ... >> >> Can anyone explain this? >> > > Might be helpful to know what version of the compiler you're using. > This code works for me in 1.034. It doesn't for me (2.019) | |||
October 01, 2008 Re: associative arrays: | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Denis Koroskin | On Wed, Oct 1, 2008 at 9:26 PM, Denis Koroskin <2korden@gmail.com> wrote:
> On Wed, 01 Oct 2008 22:18:55 +0400, llee <Larry@workingwondersus.com> wrote:
>
>> Is there any reason why the following fails with an ArrayBoundsError error?
>>
>> import std.cstream;
>>
>> void main ()
>> {
>> string [string] array = ["name": "value"];
>> dout.writefln ("value: %s", array ["name"]);
>> }
>>
> That's one of the most frequently discussed bugs (or features?).
> You can't do that (as of now).
What are you talking about? It compiles and runs for me in D1.
| |||
October 01, 2008 Re: associative arrays: | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Denis Koroskin | On Wed, Oct 1, 2008 at 10:10 PM, Denis Koroskin <2korden@gmail.com> wrote:
> On Wed, 01 Oct 2008 23:27:14 +0400, Jarrett Billingsley <jarrett.billingsley@gmail.com> wrote:
>
>> On Wed, Oct 1, 2008 at 8:18 PM, llee <Larry@workingwondersus.com> wrote:
>>>
>>> Is there any reason why the following fails with an ArrayBoundsError error?
>>>
>>> import std.cstream;
>>>
>>> void main ()
>>> {
>>> string [string] array = ["name": "value"];
>>> dout.writefln ("value: %s", array ["name"]);
>>> }
>>>
>>> I've been using the following work around, But I'm not sure why the above fails.
>>>
>>> ...
>>> string [string] array;
>>> array ["name"] = "value";
>>> ...
>>>
>>> Can anyone explain this?
>>>
>>
>> Might be helpful to know what version of the compiler you're using. This code works for me in 1.034.
>
> It doesn't for me (2.019)
>
Then fail!
| |||
October 01, 2008 Re: associative arrays: | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Denis Koroskin | On Thu, 02 Oct 2008 00:10:41 +0400, "Denis Koroskin" <2korden@gmail.com> wrote: >On Wed, 01 Oct 2008 23:27:14 +0400, Jarrett Billingsley <jarrett.billingsley@gmail.com> wrote: > >> On Wed, Oct 1, 2008 at 8:18 PM, llee <Larry@workingwondersus.com> wrote: >>> Is there any reason why the following fails with an ArrayBoundsError error? >>> >>> import std.cstream; >>> >>> void main () >>> { >>> string [string] array = ["name": "value"]; >>> dout.writefln ("value: %s", array ["name"]); >>> } >>> >>> I've been using the following work around, But I'm not sure why the above fails. >>> >>> ... >>> string [string] array; >>> array ["name"] = "value"; >>> ... >>> >>> Can anyone explain this? >>> >> >> Might be helpful to know what version of the compiler you're using. This code works for me in 1.034. > >It doesn't for me (2.019) It is a bug in D2. http://d.puremagic.com/issues/show_bug.cgi?id=2333 Gide | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply