Toby Dickenson wrote:
On Sunday 24 April 2005 07:42, Nick Coghlan wrote:

Shane Hathaway wrote:


While we're on the subject of block handler method names, do the method
names need four underscores?  'enter' and 'exit' look better than
'__enter__' and  '__exit__'.


I quite like .acquire() and .release().

There are plenty of classes (and not just in the threading module) which already have methods with those names that could controlled by a 'with'.

Those names also make the most sense in the C++ 'resource acquisition' model.

Such existing pairings can be easily handled with a utility class like the one below. Besides, this part of the naming was considered for the original development of PEP 310 - entering and exiting the block is common to _all_ uses of the syntax, whereas other names are more specific to particular use cases.


class resource(object):
  def __init__(self, enter, exit):
    self.enter = enter
    self.exit = exit
  def __enter__(self):
    self.enter()
  def __exit__(self):
    self.exit()


with resource(my_resource.acquire, my_resource.release): # Do stuff!

Cheers,
Nick.

--
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---------------------------------------------------------------
            http://boredomandlaziness.skystorm.net
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to