Send via SMS

Monday, February 06, 2006

Caseless Python!

http://littlelanguages.com/web/languages/python-caseless/
Here's the same trick as before, this time producing a python environment which is caseless. In these interactive environments, a good deal can be done by overriding the get/set/del methods.
#!/usr/bin/python2.4

import types
class CaselessDictionary(dict):
  def __setitem__(self, key, value):
    if isinstance(key, types.StringTypes):
      key = key.lower()
    dict.__setitem__(self, key.lower(), value)

  def __delitem__(self, key):
    if isinstance(key, types.StringTypes):
      key = key.lower()
    dict.__delitem__(self, key.lower())

  def __getitem__(self, key):
    if isinstance(key, types.StringTypes):
      key = key.lower()
    return dict.__getitem__(self, key.lower())

import code
code.interact(local=CaselessDictionary())

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home