Until condition is true is not a negation or negative. But placing it 
before the block implies pretesting as well. But adding a post-condition to 
the block structure is a big change to the grammar tree structure as well, 
just for one case, and really run-once before testing is not the most 
common type of iteration done anyway. 

Any which way it is implemented amounts to the same as having a boolean 
flag declared as true prior to the loop, and flipping it after. 

If there was a more concise conditional break you wouldn't even care there 
wasn't a post test, such as this:

for {
  statements()
  break if condition()
}

instead of this:

for {
  statements()
  if condition() {
    break
  }
}

but you could just turn off automatic beautification and do this:

for {
  statements()
  if condition() { break }
}
 
On Friday, 11 May 2018 09:44:03 UTC+3, kortschak wrote:
>
> Until implies a negation. The presence of unless in perl is a horror 
> resulting from the same semantics - I'm sure it seemed like a good idea 
> at the time. 
>
> On Thu, 2018-05-10 at 23:25 -0700, Louki Sumirniy wrote: 
> > I think better to use the context of the english language for a  
> > pre-condition checked after:  
> > 
> > until Condition() { ... } 
> > 
> > Or maybe just exactly mimics for, but does not test until after one 
> > run of  
> > the enclosed block: 
> > 
> > until Init(); Condition(); PostAssignment() { ... } 
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to