On Saturday, 13 June 2015 at 12:02:10 UTC, kerdemdemir wrote:
The problem is that your appender is a char appender, and you
try to put a dstring into it. Replace :
charAppender.put(totalStr);
by :
foreach(elem; totalStr){
charAppender.put(elem);
}
elem will be a dchar, so it will work.
But I can see in the example of
array.appander(http://dlang.org/phobos/std_array.html#appender)
int[] a = [ 1, 2 ];
auto app2 = appender(a);
app2.put(3);
app2.put([ 4, 5, 6 ]); ---> appender accepts another array.
Why this is not same with dchar ?
It is the same, but totalStr is not a dchar[]. It's a Result (a
type internal to the chain function ) which is a range. The
foreach loop iterates over Result, which returns dchar[].
So if you try to do something like that :
charAppender.put(totalStr.array), it won't work because
totalStr.array is a dchar[][].