Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #48790 > unrolled thread

Re: Problem with the "for" loop syntax

Started byJoshua Landau <joshua.landau.ws@gmail.com>
First post2013-06-20 14:39 +0100
Last post2013-06-21 14:36 +0000
Articles 5 — 4 participants

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Problem with the "for" loop syntax Joshua Landau <joshua.landau.ws@gmail.com> - 2013-06-20 14:39 +0100
    Re: Problem with the "for" loop syntax Neil Cerutti <neilc@norwich.edu> - 2013-06-20 13:55 +0000
      Re: Problem with the "for" loop syntax Chris Angelico <rosuav@gmail.com> - 2013-06-21 01:45 +1000
      Re: Problem with the "for" loop syntax Cameron Simpson <cs@zip.com.au> - 2013-06-21 08:38 +1000
        Re: Problem with the "for" loop syntax Neil Cerutti <neilc@norwich.edu> - 2013-06-21 14:36 +0000

#48790 — Re: Problem with the "for" loop syntax

FromJoshua Landau <joshua.landau.ws@gmail.com>
Date2013-06-20 14:39 +0100
SubjectRe: Problem with the "for" loop syntax
Message-ID<mailman.3621.1371735593.3114.python-list@python.org>
On 20 June 2013 04:11, Cameron Simpson <cs@zip.com.au> wrote:
> Also, opening-and-not-closing a set of brackets is almost the only
> way in Python to make this kind of error (syntax at one line, actual
> mistake far before).
>
> See if your editor has a show-the-matching-bracket mode.
<snip>
> If you suspect you failed to close a bracket, one approach is to
> go _below_ the syntax error (or right on it) and type a closing
> bracket. Then see where the editor thinks the opening one is.

Thanks for that, that's quite an ingenious technique.

[toc] | [next] | [standalone]


#48792

FromNeil Cerutti <neilc@norwich.edu>
Date2013-06-20 13:55 +0000
Message-ID<b2gfucFaqqgU1@mid.individual.net>
In reply to#48790
On 2013-06-20, Joshua Landau <joshua.landau.ws@gmail.com> wrote:
> On 20 June 2013 04:11, Cameron Simpson <cs@zip.com.au> wrote:
>> Also, opening-and-not-closing a set of brackets is almost the
>> only way in Python to make this kind of error (syntax at one
>> line, actual mistake far before).
>>
>> See if your editor has a show-the-matching-bracket mode.
>> If you suspect you failed to close a bracket, one approach is
>> to go _below_ the syntax error (or right on it) and type a
>> closing bracket. Then see where the editor thinks the opening
>> one is.
>
> Thanks for that, that's quite an ingenious technique.

The auto-indent feature of Vim catches this type of syntax error,
and I imagine other good autoindent support will do the same.
After I press enter and the following line's indent isn't what I
expect, it is nearly always due to a missing bracket, quote or
colon.

So if you press enter and the autoindent is unexpected, don't
just press space or backspace to fix it. It's usually a sign of
an earlier syntax error, so look for that first.

-- 
Neil Cerutti

[toc] | [prev] | [next] | [standalone]


#48804

FromChris Angelico <rosuav@gmail.com>
Date2013-06-21 01:45 +1000
Message-ID<mailman.3629.1371743604.3114.python-list@python.org>
In reply to#48792
On Thu, Jun 20, 2013 at 11:55 PM, Neil Cerutti <neilc@norwich.edu> wrote:
> On 2013-06-20, Joshua Landau <joshua.landau.ws@gmail.com> wrote:
>> On 20 June 2013 04:11, Cameron Simpson <cs@zip.com.au> wrote:
>>> Also, opening-and-not-closing a set of brackets is almost the
>>> only way in Python to make this kind of error (syntax at one
>>> line, actual mistake far before).
>>>
>>> See if your editor has a show-the-matching-bracket mode.
>>> If you suspect you failed to close a bracket, one approach is
>>> to go _below_ the syntax error (or right on it) and type a
>>> closing bracket. Then see where the editor thinks the opening
>>> one is.
>>
>> Thanks for that, that's quite an ingenious technique.
>
> The auto-indent feature of Vim catches this type of syntax error,
> and I imagine other good autoindent support will do the same.
> After I press enter and the following line's indent isn't what I
> expect, it is nearly always due to a missing bracket, quote or
> colon.
>
> So if you press enter and the autoindent is unexpected, don't
> just press space or backspace to fix it. It's usually a sign of
> an earlier syntax error, so look for that first.

Yes, though editors (like everything else!) can be buggy - SciTE, for
instance, has a bug with handling two adjacent braces in C code:

void dummy_function() {}
    //SciTE will indent after that line

But autoindentation is a *hugely* valuable feature, because it gives
INSTANT feedback. You hit enter, the line is indented, you expected no
indent, problem found. And I've even used it as a means of probing -
if there's a problem in this area somewhere, I just go to the middle
of the area, hit enter to insert a blank line, and see if the
indentation is wrong. If it is, the problem's in the top half, else
the problem's in the bottom half. That is: The problem is in the
top-if-indentation-wrong-else-bottom half, using Python's ternary
syntax. Or the (indentation-wrong? top: bottom) half, in C notation.
Or... okay, I'll stop now.

ChrisA

[toc] | [prev] | [next] | [standalone]


#48828

FromCameron Simpson <cs@zip.com.au>
Date2013-06-21 08:38 +1000
Message-ID<mailman.3642.1371769351.3114.python-list@python.org>
In reply to#48792
On 20Jun2013 13:55, Neil Cerutti <neilc@norwich.edu> wrote:
| On 2013-06-20, Joshua Landau <joshua.landau.ws@gmail.com> wrote:
| > On 20 June 2013 04:11, Cameron Simpson <cs@zip.com.au> wrote:
| >> Also, opening-and-not-closing a set of brackets is almost the
| >> only way in Python to make this kind of error (syntax at one
| >> line, actual mistake far before).
| >>
| >> See if your editor has a show-the-matching-bracket mode.
| >> If you suspect you failed to close a bracket, one approach is
| >> to go _below_ the syntax error (or right on it) and type a
| >> closing bracket. Then see where the editor thinks the opening
| >> one is.
| >
| > Thanks for that, that's quite an ingenious technique.
| 
| The auto-indent feature of Vim catches this type of syntax error,
| and I imagine other good autoindent support will do the same.

Interesting. I use autoindent but grew up with it for prose.
I hadn't realised vim's support inderstaood python indentation.
I'll have to pay more attention...
-- 
Cameron Simpson <cs@zip.com.au>

Do I have it all?  Yes.
Do I want more?  Yeah, sure.    - Demi Moore

[toc] | [prev] | [next] | [standalone]


#48864

FromNeil Cerutti <neilc@norwich.edu>
Date2013-06-21 14:36 +0000
Message-ID<b2j6n2Fr5dnU1@mid.individual.net>
In reply to#48828
On 2013-06-20, Cameron Simpson <cs@zip.com.au> wrote:
> On 20Jun2013 13:55, Neil Cerutti <neilc@norwich.edu> wrote:
>| On 2013-06-20, Joshua Landau <joshua.landau.ws@gmail.com> wrote:
>| > On 20 June 2013 04:11, Cameron Simpson <cs@zip.com.au> wrote:
>| >> Also, opening-and-not-closing a set of brackets is almost the
>| >> only way in Python to make this kind of error (syntax at one
>| >> line, actual mistake far before).
>| >>
>| >> See if your editor has a show-the-matching-bracket mode.
>| >> If you suspect you failed to close a bracket, one approach is
>| >> to go _below_ the syntax error (or right on it) and type a
>| >> closing bracket. Then see where the editor thinks the opening
>| >> one is.
>| >
>| > Thanks for that, that's quite an ingenious technique.
>| 
>| The auto-indent feature of Vim catches this type of syntax error,
>| and I imagine other good autoindent support will do the same.
>
> Interesting. I use autoindent but grew up with it for prose. I
> hadn't realised vim's support inderstaood python indentation.
> I'll have to pay more attention...

A standard Vim install autoindents Python tolerably well if
you've set filetype=python. If you've got a baked-in Python
interpreter you can get even more bells and whistles. The
standard executable installs I could find don't support Python 3,
so I haven't seen all the great stuff I'm missing.

-- 
Neil Cerutti

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web