Maps erstellen und verwalten

  • Hallo Zusammen!

    Um Variablen über eine For-Schleife füllen und prüfen zu können, aber dennoch recht verständliche Variablennamen zu haben, wollte ich mir eine Map mit Variablen erstellen. Dazu soll eine Ini-Datei ausgelesen werden und deren Inhalt in der Map gespeichert werden. Blöderweise komm ich gar nicht erst zu dem Punkt, in dem ich die Map füllen kann, da mir AutoIt schon bei der Zeile:

    Local $mVariables[]

    Die Fehlermeldung: "(45) : ==> Variable subscript badly formatted." ausgibt und er meckert die schließende ] an.

    Offenbar denkt er, dass es ein Array sein soll.

    Daher meine Frage: Wie definiere ich eine Map richtig bzw. muss ich vlt. dafür eine bestimmte Datei includen, damit er versteht, dass es sich um eine Map handelt?

    VG

  • Map ist ein Feature der Beta-Versionen.
    Diese sind noch nicht produktiv und daher in den Stable-Versionen von AutoIt nicht enthalten.

    Edit: Also entweder du installierst eine Beta und nutzt diese oder du kannst alternativ das Scripting.Dictionary-Objekt verwenden.
    Dieses erfüllt den gleichen Zweck (Beispiele hierzu findest du haufenweise hier im Forum).
    Gibt auch noch das HashTable-Objekt aber das macht erst bei richtig vielen Elementen Sinn.

    Edit 2: Du kannst auch in AutoIt selbst implementierte assoziative Arrays nutzen.

    Edit 3: Erster! :party:  Musashi, BugFix : 8o

    4 Mal editiert, zuletzt von AspirinJunkie (16. Dezember 2021 um 10:01)

  • Wie definiere ich eine Map richtig bzw. muss ich vlt. dafür eine bestimmte Datei includen, damit er versteht, dass es sich um eine Map handelt?

    Maps sind nicht Bestandteil von AutoIt. Es wurde mal probiert und war in der Beta (ob aktuell noch, weiß ich nicht, ich nutze nur Stable), verträgt sich aber nicht wirklich mit AutoIt.

    Verwende statt dessen: ObjCreate('Scripting.Dictionary')

    EDIT: Zu spät ^^

  • Maps gibt es, soweit ich weiß, erst in der aktuellen Beta (zumindest scheinen sie erst dort halbwegs zu funktionieren).

    Schau Dir z.B. mal Associative_Arrays an (Strichwort : Scripting.Dictionary)

    EDIT : BugFix war etwas schneller ;)

    EDIT2 : AspirinJunkie war noch schneller - man sollte während man antwortet wohl besser keinen Kaffee kochen ^^ .

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    Einmal editiert, zuletzt von Musashi (16. Dezember 2021 um 09:56)

  • Bin zwar zu spät dran und viele waren schneller als ich, aber Map ist ein Feature der Beta-Versionen ;).

    Kann man gar nicht oft genug schreiben.... :rofl:

    lg

    Racer

    PS: Auch Spaß muss sein :part: