On 4/1/07, Gustavo Carneiro <[EMAIL PROTECTED]> wrote:
On 4/1/07, Georg Brandl <[EMAIL PROTECTED]> wrote: [...] > Example > ======= > > This is the standard ``os.path.normpath`` function, converted to type > declaration > syntax:: > > def normpathƛ(path✎)✎: > """Normalize path, eliminating double slashes, etc.""" > if path✎ == '': > return '.' > initial_slashes✓ = path✎.startswithƛ('/')✓ > # POSIX allows one or two initial slashes, but treats three or > more > # as single slash. > if (initial_slashes✓ and > path✎.startswithƛ('//')✓ and not > path✎.startswithƛ('///')✓)✓: > initial_slashesℕ = 2 > comps♨ = path✎.splitƛ('/')♨ > new_comps♨ = []♨ > for comp✎ in comps♨: > if comp✎ in ('', '.')⒯: > continue > if (comp✎ != '..' or (not initial_slashesℕ and not > new_comps♨)✓ or > (new_comps♨ and new_comps♨[-1]✎ == '..')✓)✓: > new_comps♨.appendƛ(comp✎) > elif new_comps♨: > new_comps♨.popƛ()✎ > comps♨ = new_comps♨ > path✎ = '/'.join(comps♨)✎ > if initial_slashesℕ: > path✎ = '/'*initial_slashesℕ + path✎ > return path✎ or '.' > > As you can clearly see, the type declarations add expressiveness, while > at the > same time they make the code look much more professional. Is this supposed to be a joke?
/me ashamed for not having noticed the date of this PEP... :P -- Gustavo J. A. M. Carneiro "The universe is always one step beyond logic."
-- http://mail.python.org/mailman/listinfo/python-list