repeat

Daniel Gibson metalcaedes at gmail.com
Mon Jan 17 10:57:44 PST 2011


Am 17.01.2011 19:45, schrieb spir:
> On 01/17/2011 07:10 PM, Andrei Alexandrescu wrote:
>> I want to generalize the functionality in string's repeat and move it
>> outside std.string. There is an obvious semantic clash here. If you say
>> repeat("abc", 3) did you mean one string "abcabcabc" or three strings
>> "abc", "abc", and "abc"?
>>
>> So we need distinct names for the functions. One repeats one value, the
>> other repeats a range. Moreover, I'm thinking sometimes you want to
>> repeat a range lazily, i.e. instead of producing "abcabc" just return a
>> range that looks like it.
>>
>> Ideas for a good naming scheme are welcome.
>
> Aha! For this reason precisely, the one producing "abcabcabc" was first called
> 'multiply' in Text. But then, I implemented it as '*' and '*='; seemed rather
> intuitive --what do you think? (various other operations are implemented as
> operator overloads) Could you do something similar for some algos where it makes
> sense (and does not feel forced)?
>
> Denis
> _________________
> vita es estrany
> spir.wikidot.com
>

IMHO * (multiply) is not good because in theoretical computer science multiply 
is used to concatenate two words and thus concatenating a word with itself n 
times is word^n (pow(word, n) in mathematical terms).

Cheers,
- Daniel


More information about the Digitalmars-d mailing list