On Wed, 18 May 2011 16:47:47 -0400, Alex_Dovhal <alex_dov...@yahoo.com>
wrote:
Nice article, very pleasured to read. One thing that strained my mind -
this
exaple:
import std.stdio;
char[] fillAs(char[] buf, size_t num)
{
if(buf.length < num)
buf.length = num; // increase buffer length to be able to hold the
A's
buf[0..num] = 'A'; // assign A to all the elements
return buf[0..num]; // return the result
}
void main()
{
char[] str = new char[10]; str[] = 'B';
fillAs(str, 20); // buffer must be reallocated
writeln(str); // "BBBBBBBBBB"
(1)
fillAs(str, 12); // buffer can be extended in place!
writeln(str); // "AAAAAAAAAA";
}
Please add in (1) assert(str.capacity == 15);
hm... I think I'll add a comment instead, since I haven't discussed the
capacity property yet. People might not get what that means.
Thanks for the suggestion!
-Steve