Community

Hello everyone,
how can I add a char to a char-array by using a other class?
For example:
class A {
private char[] text;
this() {
...
text ~= "a";
new B(text);
writefln(text);
...
}
}
class B {
this(char[] text) {
...
text ~= "b";
...
}
}
This should write "ab" in the command line, but only "a" is shown.
... Thanks for help :).

Bane:
> No, it shouldn't. What goes in B, stays in B. But if you add magic 'ref' or 'inout' keyword it might work:
Use 'ref' only. If the OP also wants to know why that's the solution, the d.learn newsgroup is the right place to ask.
Bye,
bearophile

bearophile Wrote:
> Bane:
> > No, it shouldn't. What goes in B, stays in B. But if you add magic 'ref' or 'inout' keyword it might work:
>
> Use 'ref' only. If the OP also wants to know why that's the solution, the d.learn newsgroup is the right place to ask.
>
> Bye,
> bearophile
Darn. I like inout more. Why do good keywords die first?

On 21/03/10 11:40, Bane wrote:
> bearophile Wrote:
>
>> Bane:
>>> No, it shouldn't. What goes in B, stays in B. But if you add magic 'ref' or 'inout' keyword it might work:
>>
>> Use 'ref' only. If the OP also wants to know why that's the solution, the d.learn newsgroup is the right place to ask.
>>
>> Bye,
>> bearophile
>
> Darn. I like inout more. Why do good keywords die first?
inout still works in D1, in D2 it has a new meaning though to save
writing out a function 3 times for const/immutable/mutable
(http://www.digitalmars.com/d/2.0/function.html#inout-functions).