[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: block-scope finalization
- From: Roberto Ierusalimschy <roberto@...>
- Date: Tue, 24 Nov 2015 14:52:48 -0200
What is wrong with the following proposal?
local <some mark to be invented> name = exp
Unlike a regular 'local' declaration, this one must define only one
variable and it must be initialized. (Both restrictions could be easily
removed; they are more about programming style.)
When the local 'name' goes out of scope, then:
1 - if its value is a function, that function is called (no parameters)
2 - if its value is a table/userdata, its __close (or some other new
name) metamethod, if present, is called.
Otherwise, 'name' is like any other local variable.
-- Roberto
- References:
- Re: block-scope finalization, Viacheslav Usov
- Re: block-scope finalization, Philipp Janda
- Re: block-scope finalization, Viacheslav Usov
- Re: block-scope finalization, Philipp Janda
- Re: block-scope finalization, Philipp Janda
- Re: block-scope finalization, Viacheslav Usov
- Re: block-scope finalization, Coda Highland
- Re: block-scope finalization, Javier Guerra Giraldez
- Re: block-scope finalization, Coda Highland
- Re: block-scope finalization, Patrick Donnelly