Wie Punkt-Notation erstellt automatisch eine verschachtelte StrukturBis jetzt haben Sie Strukturen nur mit StructNew () erzeugt. Sie können auch Strukturen nur mit Punkt-Notation, wie folgt:
Diese Linie entsteht eine Struktur namens aNewStruct mit einer Unterkonstruktion benannt Somekey, dass ein Element mit dem Namen EinWert mit einem Wert von 1 hat. Beachten Sie, dass die Namen aller neu geschaffenen Strukturen und die Tasten Großbuchstaben sind, unabhängig von der Marktkapitalisierung, die Sie im Code verwenden. So bequem wie diese Methode auch sein mag, hat es einen Nachteil. Betrachten Sie die folgenden Ausschnitt: Nach dem Ausführen des vorigen Fragment, sind zwei neue Schlüssel, myKey und yourKey Namen geschaffen. Angenommen, Sie versuchen nun zu den folgenden Ausschnitt Aufruf zu einer verschachtelten Struktur myKey Namen zu erstellen: Wenn die vorherige Zeile gearbeitet hatte, wäre es einfach überschrieben vorherigen Wert von myKey haben mit einer Unterkonstruktion myKey gestattet. Zum Glück versuchen jedoch, zu einem einfachen Schlüssel mit einem Unterbau überschreiben wirft einen Fehler in ColdFusion MX. Sie stehen vor einer Einschränkung bei der Schaffung von Struktur-Tasten mit dieser Methode. ColdFusion MX können verschachtelte Strukturen erstellen, die nur bis zu drei Ebenen tief in einen einzigen Anruf, wie in diesem Beispiel: Der Versuch, einen Schlüssel zu erstellen mehr als drei Ebenen können Sie unerwartete Ergebnisse. ColdFusion ignoriert alle, aber die letzten drei Schlüsseln. Laufen Sie den folgenden Code, z. B. Ausgänge "einen Wert":
Sie können jedoch, Strukturen schaffen, wie tief verschachtelten, wie Sie so lange Sie wollen so nicht zu versuchen, mehr als drei Ebenen tiefer gehen als derzeit vorhanden ist. Manchmal Daten ist nur sinnvoll, wenn sie in einer bestimmten Reihenfolge sortiert ist. Das ist zwar einfach, mit tabellarischen Daten in einer Datenbank zu tun, Sortieren von Daten in einer Struktur nimmt ein wenig mehr Verständnis und Bemühen. Angenommen, Sie haben eine Struktur, die die Preise pro Pfund verschiedener Früchte, wie die folgenden: Sie können Schleife über diese Preise und die Produktionsmengen, indem sie die Code.
Das Problem hierbei ist, dass die Strukturen keinerlei inhärente Reihenfolge haben. Structure-Schlüssel werden in eine innere Ordnung, die nur versteht, ColdFusion Server gespeichert, und wenn Sie Schleife über die Struktur, dass die Reihenfolge, die Sie sehen ist. Die Reihenfolge, in der Sie beim Einlegen der Schlüssel ist es sogar egal. StructSort () gibt ein Array von Schlüssel-Namen durch ihre Werte (nicht die Taste "Namen") sortiert. Der Code verwendet StructSort (), um die Frucht gebracht Kosten in Ordnung.
Der größte Unterschied zwischen den Codes ist der Ansatz, dass jeder braucht, um Durchlaufen der Struktur. In den ersten ein, wir verwenden eine Standard-Kollektion Schleife, die sich auf welcher Reihenfolge gespeichert ColdFusion die Struktur in. In der zweiten ein, nennen wir StructSort () erste, der ein Array von Schlüssel-Namen gibt, die wie folgt aussehen: 1: Äpfel 2: Zitronen 3: Pfirsiche 4: Orangen 5: Kirschen Diese Elemente scheinen immer noch nicht in einer bestimmten Reihenfolge sein, aber schauen Sie sich die folgenden Preise mit jedem Element (auch wenn die Werte in Klammern sind nicht wirklich Teil des Feldes): 1: Die Äpfel (1,50) 2: Zitronen (1,65) 3: Peaches (1,75) 4: Orangen (1,99) 5: Kirschen (2.25) Obwohl die wichtigsten Namen in das Array erscheinen, bleiben die Werte wieder in der Struktur. Nach dem Aufruf StructSort (), der Code durchläuft keyArray, die den Namen sortiert Schlüssel enthält. Während dieser Schleife keyArray [i] enthält die aktuellen Schlüssel Name, der wiederum kann genutzt werden, um die wichtigsten Namen der FruitCosts Struktur liefern. Wenn Sie den ColdFusion-Verarbeitungs-Engine auf Schritt-für-Schritt ist die Auflösung dieser Referenz wie folgt: Schritt 1: # FruitCosts [keyArray [i]] # Schritt 2: # FruitCosts [keyArray [1]] # 3. Schritt: # FruitCosts [ "Apfel"] # Ergebnis: 1,50 Aber was, wenn Sie sortieren möchten durch einen Schlüssel in einer verschachtelten Struktur? Wir haben die Struktur von früheren FruitCosts in dem Artikel mit dem folgenden Code geändert: Jedes Element in der FruitCosts Struktur ist ein Unterbau mit zwei Tasten: "lb" (Preis pro Pfund) und "Sack" (Preis pro Sack). So, jetzt, dass Sie diesen Satz von geschachtelten Strukturen haben, wie sehen Sie sortiert nach Preis pro Pfund? Ein viertes Attribut StructSort () beschreibt einen Punkt Pfad zu der Art Wert, wie in den gezeigten Code ein.
Das Gute an dieser Methode ist, dass man sehr leicht an eine Sortierung kann wechseln, indem pro Sack, wie in den gezeigten Code ein.
Sie können mit einem Schlüssel eine beliebige Anzahl von Ebenen sortieren nach Hinzufügen von Elementen zu dem Punkt Pfad: Beachten Sie, dass, wenn die angegebenen Unterschlüssel nicht für jedes Element der obersten Ebene im Hauptgebäude vorhanden sind, wirft ColdFusion einen Fehler. Ein Artikel eingereicht von Amanda Baker Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle. Wichtig: Dieser Artikel "Wie Punktnotation erstellt automatisch eine verschachtelte Struktur" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.
|
|||||
| Online: 320 users browsing the articles directory |
|
|