On Mon, Nov 19, 2012 at 1:09 PM, Roy Smith <r...@panix.com> wrote: > The theorist understands that a chisel and a screwdriver were intended > for different purposes, but the pragmatist gets the paint can open.
A good tool can always be used in ways its inventor never intended - and it will function as its user expects. $ some_program | egrep --color=always '(ERROR|^)' will highlight the word ERROR in red anywhere it appears in the program's output, while maintaining all other lines without color. Not normal use of grep, to be sure, but quite functional. A tuple may have been intended to be a record, a struct, whatever, but it is what it is, and I'll use one any time it's the best tool for the job. Maybe its immutability is critical; or maybe it's just the most convenient syntax and all I care about is that it be iterable. But when I'm explaining grep to someone, I'll describe it as a filter that keeps only some lines from the original, and when I describe a tuple, I'll point out that it's immutable and (potentially) hashable. The obvious first, the unobvious later. ChrisA -- http://mail.python.org/mailman/listinfo/python-list