"Code Sandwiches"
Ary Manzana
ary at esperanto.org.ar
Thu Mar 10 07:34:08 PST 2011
On 3/9/11 5:15 PM, bearophile wrote:
> Despite D is currently not widely used, it's not hard for me to find references about D into computer science papers I find around.
>
> This paper is titles "Code Sandwiches", by Matt Elder, Steve Jackson, and Ben Liblit, it discusses D scope guards too (page 7 and several successive pages):
> http://pages.cs.wisc.edu/~liblit/tr-1647/
>
> One of the things the paper says about D scope guards is: "Scope guards do not provide encapsulation".
>
> Bye,
> bearophile
So strange they don't mention Ruby, which has the best code sandwiches
ever :-P
Sample code (won't work, this is just the idea)
def with_lock(some_lock)
some_lock.lock
yield
some_lock.unlock
end
Usage:
with_lock(foo) do
# Whatever
end
This way you get syntactic linkage and encapsulation, but not
inevitability (because # Whatever might raise an exception). For that
you have to do:
def with_lock(some_lock)
some_lock.lock
yield
ensure
some_lock.unlock
end
More information about the Digitalmars-d
mailing list