* Steven D'Aprano:

For some reason, people seem to have the idea that pattern matching of strings must be a single expression, no matter how complicated the pattern they're trying to match. If we have a complicated task to do in almost any other field, we don't hesitate to write a function to do it, or even multiple functions: we break our code up into small, understandable, testable pieces. We recognise that a five-line function may very well be less complex than a one-line expression that does the same thing. But if it's a string pattern matching task, we somehow become resistant to the idea of writing a function and treat one-line expressions as "simpler", no matter how convoluted they become.

It's as if we decided that every maths problem had to be solved by a single expression, no matter how complex, and invented a painfully terse language unrelated to normal maths syntax for doing so:

# Calculate the roots of sin**2(3*x-y):
result = me.compile("{^g.?+*y:h}|\Y^r&(?P:2+)|\w+(x&y)|[?#\s]").solve()

http://www.youtube.com/watch?v=a9xAKttWgP4


Cheers,

- Alf
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to