commit | 947a372f5860a76fcafb4a2845abc322e440d6fc | [log] [tgz] |
---|---|---|
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | Wed Oct 31 14:54:45 2018 -0300 |
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | Wed Oct 31 14:54:45 2018 -0300 |
tree | e35840847207c850af5262f93f863f583d2af76d | |
parent | e073cbc2e538369e0611abfc9948f301aea6aef3 [diff] |
State in generic 'for' acts as a to-be-closed variable The implicit variable 'state' in a generic 'for' is marked as a to-be-closed variable, so that the state will be closed as soon as the loop ends, no matter how. Taking advantage of this new facility, the call 'io.lines(filename)' now returns the open file as a second result. Therefore, an iteraction like 'for l in io.lines(name)...' will close the file even when the loop ends with a break or an error.