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