Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
November 28, 2013 Duplicate keys in array literals? | ||||
---|---|---|---|---|
| ||||
Is it a good idea to silently statically accept duplicated keys in both dynamic array literals and in associative array literals? void main() { int[] a = [0:10, 0:20]; int[int] aa = [0:10, 0:20]; } I don't remember having ever had the need for this, and on the other hand I have had some mistakes like this in my D code not caught statically by the compiler. ----------------------- Note that in this post I am not discussing about inserting multiple times a key-pair in an associative array, this is normal and useful: void main() { int[int] aa; aa[0] = 10; aa[0] = 20; } Bye, bearophile |
November 28, 2013 Re: Duplicate keys in array literals? | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | "bearophile" <bearophileHUGS@lycos.com> wrote in message news:befwnwpitihpcjfbdarl@forum.dlang.org... > Is it a good idea to silently statically accept duplicated keys in both dynamic array literals and in associative array literals? > Looks like a bug to me. |
November 28, 2013 Re: Duplicate keys in array literals? | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On 28.11.2013. 12:23, bearophile wrote:
> Is it a good idea to silently statically accept duplicated keys in both dynamic array literals and in associative array literals?
>
>
> void main() {
> int[] a = [0:10, 0:20];
> int[int] aa = [0:10, 0:20];
> }
>
>
> I don't remember having ever had the need for this, and on the other hand I have had some mistakes like this in my D code not caught statically by the compiler.
>
> -----------------------
>
> Note that in this post I am not discussing about inserting multiple times a key-pair in an associative array, this is normal and useful:
>
> void main() {
> int[int] aa;
> aa[0] = 10;
> aa[0] = 20;
> }
>
> Bye,
> bearophile
PHP also allows it:
$data = array('a' => 1, 'a' => 2);
And I find it to be only a source of bugs.
|
November 28, 2013 Re: Duplicate keys in array literals? | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | 28.11.2013 15:23, bearophile пишет: > Is it a good idea to silently statically accept duplicated keys in both > dynamic array literals and in associative array literals? > > > void main() { > int[] a = [0:10, 0:20]; > int[int] aa = [0:10, 0:20]; > } > > > I don't remember having ever had the need for this, and on the other > hand I have had some mistakes like this in my D code not caught > statically by the compiler. > > ----------------------- > > Note that in this post I am not discussing about inserting multiple > times a key-pair in an associative array, this is normal and useful: > > void main() { > int[int] aa; > aa[0] = 10; > aa[0] = 20; > } > > Bye, > bearophile File the issue please. -- Денис В. Шеломовский Denis V. Shelomovskij |
November 28, 2013 Re: Duplicate keys in array literals? | ||||
---|---|---|---|---|
| ||||
Posted in reply to luka8088 | On 2013-11-28 18:55, luka8088 wrote: > PHP also allows it: > > $data = array('a' => 1, 'a' => 2); > > And I find it to be only a source of bugs. Arrays are a weird beast in PHP. They're both arrays and associative arrays, at the same time, somehow. -- /Jacob Carlborg |
November 28, 2013 Re: Duplicate keys in array literals? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On 28.11.2013. 21:01, Jacob Carlborg wrote:
> On 2013-11-28 18:55, luka8088 wrote:
>
>> PHP also allows it:
>>
>> $data = array('a' => 1, 'a' => 2);
>>
>> And I find it to be only a source of bugs.
>
> Arrays are a weird beast in PHP. They're both arrays and associative arrays, at the same time, somehow.
>
They are associative array which can emulate array like behavior. But unfortunately that has also in my experience turned out to be just another source of bugs.
|
November 28, 2013 Re: Duplicate keys in array literals? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | Denis Shelomovskij: > File the issue please. I have opened an issue, currently it's not an enhancement request: https://d.puremagic.com/issues/show_bug.cgi?id=11637 In that issue I have also added more explanations and more code examples, with an extra small discussion about arrays with strongly typed indexes, that I have never stopped missing in D, being used to them since Delphi. Bye, bearophile |
Copyright © 1999-2021 by the D Language Foundation