Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Roberto Ierusalimschy <roberto <at> inf.puc-rio.br>
Subject: Re: I'd give my right arm for a continue statement
Newsgroups: gmane.comp.lang.lua.general
Date: Thursday 27th January 2011 16:42:13 UTC (over 6 years ago)
> > I believe that this "break N" will kill code readability as sure as
> > "goto" would.
> 
> Yeah, I would get lost pretty quick!  Named labels would help [...]

If that could save Steve's right arm, we like the idea of break with
labels.

In Lua, we cannot have traditional labels, because the syntax "foo:"
already has a different meaning. Instead, a simple syntax would be to
add labels only to "do end" blocks, for instance like this:

  do :label:
    ...
  end

Then, a continue could be written like here:

  while cond do
    do :process_item:

                    break :process_item:

    end
  end

There are several details that could change (other mark instead
of colons, whether the label after break needs marks, whether an
optional [or mandatory] label could be added after the corresponding
'end', etc.), but the basic idea would not change much.

-- Roberto
 
CD: 4ms