allow line break at operators
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Mon Aug 15 09:30:26 EDT 2011
Seebs wrote:
> I tend to write stuff like
>
> foo.array_of_things.sort.map { block }.join(", ")
>
> I like this a lot more than
> array = foo.array_of_things
> sorted_array = array.sort()
> mapped_array = [block(x) for x in sorted_array]
> ", ".join(mapped_array)
If you insist on a one-liner for four separate operations, what's wrong with
this?
", ".join([block(x) for x in sorted(foo.array_of_things)])
Or if you prefer map:
", ".join(map(block, sorted(foo.array_of_things))
I think I would be less skeptical about fluent interfaces if they were
written more like Unix shell script pipelines instead of using attribute
access notation:
foo.array_of_things | sort | map block | join ", "
--
Steven
More information about the Python-list
mailing list