On Sun, 20 Apr 2003, Brett Cannon wrote: > I think part of the trouble here is the name. The word "sum" just > automatically causes one to think math. This leads to thinking of > multiplication, division, and subtraction. But Alex's proposed function > does more than a summation by special-casing the concatentation of > strings. > > Perhaps renaming it to something like "combine()" would help do away with > the worry of people wanting a complimentary version for multiplication > since it does more than just sum numbers; it also combines strings in a > very efficient manner. Why not simply call it "add()", if it's going to be in the built-ins? That seems like the most straightforward and accurate name. It would have the same argument spec as min() and max(): it accepts a single list argument, or multiple arguments to be added together. Thus, no serious confusion with operator.add -- builtin add() would work anywhere that operator.add works now. >>> help(add) add(...) add(sequence) -> value add(a, b, c, ...) -> value With a single sequence argument, add together all the elements. With two or more arguments, add together all the arguments. New question: what is add([])? If add() is really polymorphic, then this should probably raise an exception (just like min() and max() do). That would lead to idioms such as add(numberlist + [0]) add(stringlist + ['']) I suppose those don't look too bad. Nothing vastly better springs to mind. -- ?!ng
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4