Monkey/Language/Maps

      What are Maps?

      Maps are lists that require a key-value relationship.

      How to Create a Map?

      Maps in monkey are created by extending the Map class. The extended map class *MUST* implement the Compare() method.

      Maps are able to use any type, including objects.

      The Compare() method in Monkey returns a "0" if the values are equal, a "1" or greater if the values are higher, or a "-1" or less if the values are lower. Some objects are difficult to compare, but the method must return a value for each field needed in the key.

      Class VectorMap <Vector> Extends Map<Vector, Vector>
              Method Compare:Int( lhs:Vector,rhs:Vector )
                      If lhs.x<rhs.x Return -1
                      If lhs.x>rhs.x Return 1
                      If lhs.y<rhs.y Return -1
                      If lhs.y>rhs.y Return 1
                      If lhs.z<rhs.z Return -1
                      Return lhs.z>rhs.z
              End
      End
       
      Local mymap:VectorMap<Vector> = New VectorMap<Vector>
      

      Maps are used with Get() and Set() methods.

      Local somevector:Vector = New Vector(1,2,3)
      Local somevalue:Vector = New Vector(4,5,6)
       
      mymap.Set( somevector, somevalue)
       
      Local returnvalue:Vector = mymap.Get(somevector)
      

      Monkey includes built-in maps which offer use for setting objects, by using integer, floats, and strings as keys: IntMap, FloatMap, StringMap

      Last modified on 21 March 2012, at 15:36