digitalmars.D.learn - One liner alternatives for initing and pushing some values into array
- kerdemdemir (24/24) Nov 20 2017 I need to init and push some values into a array something like:
- Nicholas Wilson (2/26) Nov 20 2017
- codephantom (19/24) Nov 20 2017 Your use of the appender method suggest to me you want to be able
I need to init and push some values into a array something like: //DMD64 D Compiler 2.072.2 import std.stdio; import std.array; void main() { bool a = true; bool b = false; bool c = false; bool[] boolList; auto boolListAppender = boolList.appender(); boolListAppender ~= [ a, b, c]; } Live example : http://rextester.com/TJLIXU71426 My question is about bool[] boolList; auto boolListAppender = boolList.appender(); boolListAppender ~= [ a, b, c]; I could do the same in one line with C++: bool boolList[] = { a, b, c }; D alternative(at least my D alternative) seem long. Is there any better way for initialing and pushing values at the same time. Erdem
Nov 20 2017
On Monday, 20 November 2017 at 08:37:32 UTC, kerdemdemir wrote:I need to init and push some values into a array something like: //DMD64 D Compiler 2.072.2 import std.stdio; import std.array; void main() { bool a = true; bool b = false; bool c = false; bool[] boolList; auto boolListAppender = boolList.appender(); boolListAppender ~= [ a, b, c]; } Live example : http://rextester.com/TJLIXU71426 My question is about bool[] boolList; auto boolListAppender = boolList.appender(); boolListAppender ~= [ a, b, c]; I could do the same in one line with C++: bool boolList[] = { a, b, c };Change the braces to brackets.D alternative(at least my D alternative) seem long. Is there any better way for initialing and pushing values at the same time. Erdem
Nov 20 2017
On Monday, 20 November 2017 at 08:37:32 UTC, kerdemdemir wrote:bool boolList[] = { a, b, c }; D alternative(at least my D alternative) seem long. Is there any better way for initialing and pushing values at the same time. ErdemYour use of the appender method suggest to me you want to be able to append, as opposed to just initialise. module test; import std.stdio; import std.array; void main() { bool[] boolList; bool a = true; bool b = false; bool c = false; boolList ~= [ a, b, c ]; bool d = true; bool e = false; bool f = false; boolList ~= [ d, e, f ]; // ... }
Nov 20 2017