Lpc Manpages

FUNKTION:
    nomask public string* combine_mapping( mapping m )

ARGUMENTE:
    m : Ein Mapping.

BESCHREIBUNG:
    Liefert jede moegliche Kombination aus Keys und Values eines Mappings
    zurueck, um zB in AddCmd() diese dann vergleichen zu koennen.
    Dabei muss das Mapping folgendes Format haben:
 
    1. (["adj_1#adj_x": ({"sub_1","sub_x"})]) 

    Oder fuer lediglich ein Substantiv:

    2. (["adj_1#adj_x": "sub_1"])

    Die Adjektive sind die Keys des Mappings und untereinander muessen
    sie mit '#' getrennt sein.

    combine_mapping() macht aus 1.:

    ({"sub_1",
      "adj_1 sub_1",
      "sub_x",
      "adj_1 sub_x",
      "adj_x sub_1",
      "adj_x sub_x"})

RUECKGABEWERT:
    Ein String-Array aus Kombinationen der Adjektive und Substantive (oder
    was man sonst kombinieren moechte), falls map ein Mapping, ansonsten
    ein leerer sring-Array!

BEISPIELE:

    void create()
     {
      ::create();
      AddCmd("oeffne","cmd_open");
     }

    int cmd_open( string str )
     {
      notify_fail("Was moechtest Du oeffnen?\n");
      if ( !str )
       return 0;

      string* ret = combine_mapping( ([
                           "gemeine#gefaehrliche#schwarze":
                           ({"luke","klappe","holzluke","holzklappe"}) ]) );

      // ret =
      // ({"luke","gemeine luke","klappe","gemeine klappe","holzluke","gemeine
      //    holzluke","holzklappe","gemeine holzklappe","gefaehrliche luke",
      //    "gefaehrliche klappe","gefaehrliche holzluke","gefaehrliche
      //    holzklappe","schwarze luke","schwarze klappe","schwarze holzluke",
      //    "schwarze holzklappe"})

      if ( member(ret,str) == -1 )
       return 0;

      write("Du oeffnest die Luke.\n");
      return 1;
     }


SIEHE AUCH:
    Strings:   stringp
    Mappings:  m_indices, m_values, m_contains, map, map_indices, walk_mapping
    Allgemein: strings, mappings, filter, member

----------------------------------------------------------------------------
01.12.17, Torin