< :the previous in number
^ :the list in numerical order
> :the next in number
P :the previous artilce (have the same parent)
N :the next artilce (have the same parent)
|<:the top of this thread
>|:the next thread
^ :the parent (reply-to)
_:the child (an article replying to this)
>:the elder article having the same parent
<:the youger article having the same parent
---:split window and show thread lists
| :split window (vertically) and show thread lists
~ :close the thread frame
.:the index
..:the index of indices
Gavin Sinclair graced us by uttering:
> "Tim Hammerquist" <tim / vegeta.ath.cx> wrote:
> > But this is also the greatest way in which Python has
> > contributed to the modern coding community. For example,
> > I've never, ever, ever seen a Python function definition like
> > this.
> >
> > def foo(arg1, arg2)
> > do_stuff()
> > do_some_more_stuff()
> > while some_condition:
> > do_some_conditional_stuff()
> > for var in some_list:
> > do_more_stuff_with(arg1)
> >
> > ....I wish I could say the same for Perl. ;)
>
> Since Perl has braces-as-syntax instead of
> invisible-undetectable-because-its-not-there-whitespace-as-syntax,
> you can get vim/emacs/whatever to reindent Perl for you.
>
> Of course, you never need to reindent Python code, except for
> when:
> - you want to change the indent level from 8 to 3, e.g.
Vim: block in VISUAL mode and use < or > keys works for me.
> - you cut and paste some code into a loop
Vim: with a sufficiently detailed indent spec, Vim's specialized
put routines should help, namely ']p' and ']P'. Also see
:help i_CTRL-R and related commands.
> My objection may not play out much in practice (I'd never
> practice it because of the explicit self parameter!), but it is
> a very strong (and stubborn) philosophical objection for me.
We've all got some. You're among friends. :)
> I'll conclude with one (new) feature from Python that makes me
> green with envy: list comprehensions. For those who don't know
> what that means, here's an example:
>
> Ruby: squares_less_than_10 = numbers.find_all{|i| i<10}.map{|i| i^2}
>
> Python: squares_less_than_10 = [x^2 for x in numbers if x < 10]
>
> Don't get me wrong, I love Ruby's powerful array-manipulation
> capabilities. But list comprehensions are soooo cooool!
I think this illustrates one of several instances where
Pythonistas recognized how difficult Python made it to do
something many other languages took for granted. This nice
little shortcut was added, but I also agree that list
comprehensions are very not-Pythonesque.
And I have no problem with Ruby's solutions. They tend to be
more consistent, in any case. ;)
Tim Hammerquist
--
A successful [software] tool is one that was used
to do something undreamed of by its author.
-- S. C. Johnson