When D is not nice
Simen Kjaeraas
simen.kjaras at gmail.com
Sun Jul 6 14:05:43 PDT 2008
Frank Benoit <keinfarbton at googlemail.com> wrote:
> String concatenation in Java:
>
> "abc " + a + " bla";
>
> where a is an interface ref.
>
> Ported to D, this look like this:
>
> "abc " ~ (cast(Object)a).toString ~ " bla";
>
> This are 3 steps more:
> 1.) explicit cast to Object (interface/class compatibility!)
> 2.) explicit call to toString
> 3.) put additional parentheses
>
> I would be happy if we could remove all three of this annoying points.
interface A
{
string opCat(string rhs);
string opCat_r(string lhs);
}
class B : A
{
string opCat(string rhs)
{
return toString() ~ rhs;
}
string opCat_r(string lhs)
{
return lhs ~ toString();
}
string toString()
{
return SomeString;
}
}
This works for me.
-- Simen
More information about the Digitalmars-d
mailing list