digitalmars.D - why array do not support gcc style Initialize way?
- lili (5/5) Sep 11 2019 Hi:
- Paul Backus (6/11) Sep 11 2019 D's array initialization uses different syntax from C:
- Meta (6/17) Sep 11 2019 Wow, I've been using D for 7 years and had no idea this was
- Paul Backus (2/15) Sep 11 2019 It's right under the header I linked to in my message :)
- Meta (4/20) Sep 11 2019 Whoops, I was too surprised to even read your full post before
- Roberto Rosmaninho (11/14) Sep 11 2019 Hey, at this section the code below:
- H. S. Teoh (8/19) Sep 11 2019 Delete the ';' from the end of your 'enum' declaration. In D, enum
- ag0aep6g (5/15) Sep 11 2019 [...]
Hi: In C array init is early than D。 int ary[3]={[1]=2}; int ary[100]={[10 ... 20]=10}; Why D betterC do not support this way。
Sep 11 2019
On Wednesday, 11 September 2019 at 12:00:01 UTC, lili wrote:Hi: In C array init is early than D。 int ary[3]={[1]=2}; int ary[100]={[10 ... 20]=10}; Why D betterC do not support this way。D's array initialization uses different syntax from C: int[3] ary = [ 1: 2 ]; // index: value For details, see the D language specification's section on static array initialization: https://dlang.org/spec/arrays.html#static-init-static
Sep 11 2019
On Wednesday, 11 September 2019 at 19:19:51 UTC, Paul Backus wrote:On Wednesday, 11 September 2019 at 12:00:01 UTC, lili wrote:Wow, I've been using D for 7 years and had no idea this was possible. Normally the [ 1:2 ] syntax defines an associative array; do you happen to know where in the spec this is mentioned, if at all?Hi: In C array init is early than D。 int ary[3]={[1]=2}; int ary[100]={[10 ... 20]=10}; Why D betterC do not support this way。D's array initialization uses different syntax from C: int[3] ary = [ 1: 2 ]; // index: value For details, see the D language specification's section on static array initialization: https://dlang.org/spec/arrays.html#static-init-static
Sep 11 2019
On Wednesday, 11 September 2019 at 19:44:47 UTC, Meta wrote:On Wednesday, 11 September 2019 at 19:19:51 UTC, Paul Backus wrote:It's right under the header I linked to in my message :)D's array initialization uses different syntax from C: int[3] ary = [ 1: 2 ]; // index: value For details, see the D language specification's section on static array initialization: https://dlang.org/spec/arrays.html#static-init-staticWow, I've been using D for 7 years and had no idea this was possible. Normally the [ 1:2 ] syntax defines an associative array; do you happen to know where in the spec this is mentioned, if at all?
Sep 11 2019
On Wednesday, 11 September 2019 at 19:55:00 UTC, Paul Backus wrote:On Wednesday, 11 September 2019 at 19:44:47 UTC, Meta wrote:Whoops, I was too surprised to even read your full post before rushing off to run.dlang.io to test it out for myself.On Wednesday, 11 September 2019 at 19:19:51 UTC, Paul Backus wrote:It's right under the header I linked to in my message :)D's array initialization uses different syntax from C: int[3] ary = [ 1: 2 ]; // index: value For details, see the D language specification's section on static array initialization: https://dlang.org/spec/arrays.html#static-init-staticWow, I've been using D for 7 years and had no idea this was possible. Normally the [ 1:2 ] syntax defines an associative array; do you happen to know where in the spec this is mentioned, if at all?
Sep 11 2019
On Wednesday, 11 September 2019 at 19:19:51 UTC, Paul Backus wrote:For details, see the D language specification's section on static array initialization: https://dlang.org/spec/arrays.html#static-init-staticHey, at this section the code below: enum Color { red, blue, green }; int[Color.max + 1] value = [ Color.blue :6, Color.green:2, Color.red :5 ]; Produces the output “onlineapp.d(4): Deprecation: use `{ }` for an empty statement, not `;`” when I executed it. Any clues of why it’s happened?
Sep 11 2019
On Wed, Sep 11, 2019 at 08:36:03PM +0000, Roberto Rosmaninho via Digitalmars-d wrote: [...]enum Color { red, blue, green }; int[Color.max + 1] value = [ Color.blue :6, Color.green:2, Color.red :5 ]; Produces the output “onlineapp.d(4): Deprecation: use `{ }` for an empty statement, not `;`” when I executed it. Any clues of why it’s happened?Delete the ';' from the end of your 'enum' declaration. In D, enum declarations do not need to be terminated with ';' (you cannot declare enum variables with it, unlike C). T -- INTEL = Only half of "intelligence".
Sep 11 2019
On 11.09.19 22:36, Roberto Rosmaninho wrote:On Wednesday, 11 September 2019 at 19:19:51 UTC, Paul Backus wrote:[...][...]https://dlang.org/spec/arrays.html#static-init-staticHey, at this section the code below: enum Color { red, blue, green };Produces the output “onlineapp.d(4): Deprecation: use `{ }` for an empty statement, not `;`” when I executed it. Any clues of why it’s happened?The semicolon after the enum is wrong. PR to fix it: https://github.com/dlang/dlang.org/pull/2701
Sep 11 2019