January 16, 2007 Method for initialising an array of structs | ||||
---|---|---|---|---|
| ||||
D allows you to do something like: uint[3] temp; temp[] = 42; Thus allowing you to set the initial state without having to write a loop. Going from this, it seems like you should be able to do something like: struct Test { uint a; } Test[3] temp; temp[].a = 42; Or: temp[] = { a : 42 } But neither of these seem to work. Is there a method for doing this? If not then I guess I would like to offer this as an addition to the language following from the existing syntax. It seems like you should be able to do it, given the way an array of a basic type can be handled. Thank you, Chris |
January 16, 2007 Re: Method for initialising an array of structs | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Williams | Chris Williams wrote:
> D allows you to do something like:
>
> uint[3] temp;
> temp[] = 42;
>
> Thus allowing you to set the initial state without having to write a loop.
> Going from this, it seems like you should be able to do something like:
>
> struct Test {
> uint a;
> }
> Test[3] temp;
> temp[].a = 42;
>
> Or:
>
> temp[] = {
> a : 42
> }
>
> But neither of these seem to work. Is there a method for doing this?
>
> If not then I guess I would like to offer this as an addition to the language
> following from the existing syntax. It seems like you should be able to do it,
> given the way an array of a basic type can be handled.
>
> Thank you,
> Chris
This might make potential sense as a new addition to ArrayOps, one of the features deferred to "2.0". It means being able to do things like (array1[] += array2[]) so its in roughly the same ballpark. I know I wouldn't mind having it. (It'd make things like delegate arrays rather nifty as well... (array[](foo, bar);).)
-- Chris Nicholson-Sauls
|
Copyright © 1999-2021 by the D Language Foundation