Hey,
in einem Code habe ich ein sehr komplexes 2D-Array, das Ints, Strings und weitere Arrays enthält. Eig. wäre wahrscheinlich besser als "Klasse" aufgehoben, aber die OOP-Versuche bei Android scheinen ja nicht gefruchtet zu haben.
Daher habe ich mal geschaut, was es in AutoIt noch so für Möglichkeiten gibt, das zu refaktorieren. Ich habe nur ziemlich alte Posts gefunden. Darunter eine gute Übersicht zu Alternativen zu Arrays, wozu ich dann ergänzend nur noch die "Map" gefunden habe.
Ich möchte vor allem wegen der Lesbarkeit vom Array weg, weil es so groß geworden ist. So ein assoziativer Datentyp wäre wirklich praktisch.
Maps hören sich da sehr passend an, zumal man auch Arrays ablegen kann und ich habe ein kleines, aber sehr altes Tutorial dazu gefunden und sogar eine kleine UDF, um den Umgang zu erleichtern (_ArrayDisplay ist echt wichtig zum Debuggen für mich, ein Äquivalent zu haben wäre schon super^^).
Ich habe auch einen Thread gefunden, wie man Arrays mit Maps verbunden nutzen kann. Aber da werden auch Dinge genutzt, die im alten Tutorial nicht verwendet wurden.
In den alten Threads ist viel die Rede davon, dass Maps nur Beta sind, das sollte sich ja mittlerweile geändert haben, oder?
In der Auflistung der Datentypen von AutoIt ist es genannt. Aber wenn ich mir dann im Kontext einzelne Funktionen (z. B. MapKeys) anschaue, ist da noch eine "Experimental"-Warnung.
Das lässt sich etwas ratlos zurück, wie ich da einsteigen kann. Wie ist denn der Status von Maps? Es gibt einige Neuerungen und ist nicht mehr in der Beta, aber es ist noch nicht "stabil"? Und neuere UDFs/Tutorials dazu gibt es auch nicht?
Gibt es irgendwo eine Sammlung der genauen (aktuellen) Syntax und aller Funktionen, die es direkt für Maps gibt?
Ich habe einen kleinen Teil zur Syntax in der Doku gefunden. Ist aber ohne ausführlichere Beispiele auch nur ein Anfang.
Ich wäre auf jeden Fall dankbar über weiteren Input :).
Und wie gesagt, mir gehts darum, Informationen zu bestimmten Objekten abzulegen. z. B. Möbelstücke, es kann mehrere geben (das ist die eine Dimension meines Arrays) und dann gibt es etliche Eigenschaften, wie Höhe, Breite, Gewicht, Anzahl der Füße, Name, usw., aber auch weitere nested Arrays, z. B. eine Liste der Teile mit ID / Name / Anzahl.
Ich habe nicht mal große Anforderungen an die Performance, es wird nur langsam richtig lästig, sich für alles die IDs merken zu müssen: "Ok, brauche die Ersatzteilliste, das war... hmmm... ah, ID 5 und dann der Name steht in der... ah, 3..." Und mein Array ist halt noch viel größer
Oder sollte man bei Arrays bleiben und dann einfach viele Hilfsfunktionen für genau das Array machen und z. B. die Möbel in einem 1D-Array ablegen (oder einem simplen 2D-Array) und dann einfach Funktionen ala getHeight($aArray[0]), usw. erstellen, die dann einfach nur auf die richtige ID zugreifen?
Ist etwas viel Text geworden, aber ich dachte, dass ich meine Funde zu Maps auch gleich zusammenfasse / ablege, falls jemand eine ähnliche Frage hat und Input sucht.
Vielen Dank für jede Hilfe!