On Sunday, 17 May 2015 at 09:18:15 UTC, Daniel Kozak wrote:

On Sun, 17 May 2015 09:06:38 +0000
Dennis Ritchie via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com>
wrote:

Hi,
It seems to me, or D do not create mutable array of strings?

How to create a mutable equivalent of a string array?

-----
string[] s = ["foo", "bar"];
// s[1][1] = 't'; // immutable expression s[1][1]

or you can use cast if you are sure thats what you really need:
auto s = [cast(char[])"foo", cast(char[])"bar"];

or

auto s = cast(char[][])["foo", "bar"];

That's not a good idea. I haven't checked, but this will likely segfault on mutation, because the string literals are placed into read-only memory. And multiple identical strings are merged (shared), so that this would modify all occurances of that string literal, even if it shouldn't segfault.

Reply via email to