Re: Duplicate keys in array literals?
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
Re: Duplicate keys in array literals?
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.
Re: Duplicate keys in array literals?
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
Re: Duplicate keys in array literals?
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
Re: Duplicate keys in array literals?
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.
Re: Duplicate keys in array literals?
"bearophile" wrote in message news:befwnwpitihpcjfbd...@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.
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