repeat
Jonathan M Davis
jmdavisProg at gmx.com
Mon Jan 17 12:15:40 PST 2011
On Monday, January 17, 2011 10:59:16 spir wrote:
> On 01/17/2011 07:53 PM, Adam Ruppe wrote:
> > It seems to me that you actually want two separate functions:
> >
> > repeat("abc", 3) => ["abc", "abc", "abc"]
> >
> > join(repeat("abc", 3)) => "abcabcabc"
>
> Would rather see:
>
> repeat("abc", 3) => ["abc", "abc", "abc"]
> "abc" * 3 => "abcabcabc"
Considering that D add the ~ operator for concatenation because + was too
ambiguous (e.g. what should "2" + "3" do?), there's no way that overloading *
for a function in std.algorithm is going to fly. And since we're dealing with
arbitrary range types - not just strings - it definitely isn't going to work. Not
to mention, using an operator like that implies that it'sa basic and important
operation. However, I'm not sure that I've ever had to use such an operation in
my entire life. It needs a normal function, not an overloaded operator.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list