Scripts/dictionary
==================

* :download:`Download example <dictionary.py>`

...


dictionary.py
.............

.. sourcecode:: python

    #!/usr/bin/env python
    # This is a doctest
    """
    ==============================
    Using Cocoa collection classes
    ==============================
    
    Cocoa contains a number of collection classes, including dictionaries and
    arrays (like python lists) in mutable and immutable variations. We'll
    demonstrate their usage using the ``NSMutableDictonary`` class.
    
    We'll start by importing everything we need::
    
        >>> from Foundation import NSMutableDictionary
    
    Then create an empty dictionary::
    
        >>> d = NSMutableDictionary.dictionary()
        >>> d
        {
        }
        >>> isinstance(d, dict)
        False
        >>> isinstance(d, NSMutableDictionary)
        True
    
    You can add a new value using the Objective-C API::
    
        >>> d.setObject_forKey_(42, 'key2')
        >>> d
        {
            key2 = 42;
        }
    
    But can also use the familiar python interface:
    
        >>> d['key1'] = 'hello'
        >>> d
        {
            key1 = hello;
            key2 = 42;
        }
    
    The same is true for fetching elements::
    
        >>> d['key2']
        42
        >>> d.objectForKey_('key1')
        'hello'
    """
    import doctest
    
    import __main__
    
    doctest.testmod(__main__, verbose=1)

