V2 string
Bruno Medeiros
brunodomedeiros+spam at com.gmail
Thu Jul 5 04:18:38 PDT 2007
Derek Parnell wrote:
> On Wed, 04 Jul 2007 15:48:45 -0700, Walter Bright wrote:
>
> The idiom I'm using is that functions that receive text have those
> parameters as 'string' to guard against the function inadvertantly
> modifying that which is passed, and functions that return text return
> 'string' to guard against calling functions inadvertantly modifying data
> that they did not create (own).
>
> This leads to constructs like ...
>
> char[] result;
>
> result = SomeTextFunc(data).dup;
>
> Another commonly used idiom that I had to stop using was ...
>
> char[] text;
> text = getvalue();
> if (wrongvalue(text))
> text = ""; // Reset to an empty string
>
> I now code ...
>
> text.length = 0; // Reset to an empty string
>
> which is slightly less readable.
>
Why is 'text.length = 0;' or 'text = text.init;' better than the idiom:
str = "".dup;
, which also works for any kind of string, not just empty strings?
I found however, that there is a bug with that code:
http://d.puremagic.com/issues/show_bug.cgi?id=1314
--
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
More information about the Digitalmars-d
mailing list