digitalmars.D.learn - remove element(s) from dyn array
- spir (12/12) Nov 19 2010 Hello,
- Dmitry Olshansky (13/25) Nov 19 2010 That would most likely be:
- Dmitry Olshansky (5/14) Nov 19 2010 Ehm, that should have been import std.array.
- bearophile (8/11) Nov 19 2010 I think it's idiomatic in D, so it's OK.
Hello, * What is the D-idiomatic way to remove an element from a dynamic array? * Ditto, for a slice, but with the 2 variants expression vs statement: a.removeSlice(i1, i2); a2 =3D a1.removeSlice(i1, i2); * Can I rely on a.length =3D a.length - 1 to just remove the last element? If yes, is this considered good practice? Denis -- -- -- -- -- -- -- vit esse estrany =E2=98=A3 spir.wikidot.com
Nov 19 2010
On 19.11.2010 16:11, spir wrote:Hello, * What is the D-idiomatic way to remove an element from a dynamic array? * Ditto, for a slice, but with the 2 variants expression vs statement: a.removeSlice(i1, i2);That would most likely be: std.array; int[] a = ...; replace(a,i1,i2,null);a2 = a1.removeSlice(i1, i2);hm, not sure how idiomatic is this: a2 = a1.dup; replace(a2,i1,i2,null);* Can I rely on a.length = a.length - 1 to just remove the last element? If yes, is this considered good practice?For this one I'd use: a = a[0..$-1]; this way to me it's more clear how array is changed.Denis -- -- -- -- -- -- -- vit esse estrany ☣ spir.wikidot.com-- Dmitry Olshansky
Nov 19 2010
On 19.11.2010 17:53, Dmitry Olshansky wrote:On 19.11.2010 16:11, spir wrote:Ehm, that should have been import std.array. [snip] -- Dmitry OlshanskyHello, * What is the D-idiomatic way to remove an element from a dynamic array? * Ditto, for a slice, but with the 2 variants expression vs statement: a.removeSlice(i1, i2);That would most likely be: std.array;
Nov 19 2010
spir:* Can I rely on a.length = a.length - 1 to just remove the last element? If yes, is this considered good practice?I think it's idiomatic in D, so it's OK. Currently you may also write that as: a.length -= 1; But this is not supported yet: a.length--; Bye, bearophile
Nov 19 2010