Dart Basic: Iterable Part 1

In Dart stößt man immer wieder auf den Begriff Iterable. Fragt man dann Onkel Google, was es bitteschön auf Deutsch zu bedeuten hat, findet man, bzw fand ich, keine befriedigende Information. Nach einigem stöbern, fand sich dann doch eine Erklärung, natürlich in Englisch, die ich nachvollziehen konnte.


Iterable class


To iterate over a sequence means to visit each element of the sequence, and do some operation for each element.

Sequence, steht hier für lineare Abfolge oder Reihenfolge. Meine Verständnis von Iterable:
Ein Iterable, ist Datenobjekt, das Daten in linearer Reihenfolge enthält, wobei auf jeden Datensatz zugegriffen werden kann.

we say that a value is an iterable when your program can iterate over it. In short, an iterable is a value that represents a sequence of one more values

Mit Iterable ist also nicht ein Datentyp gemeint, wie zum Beispiel String oder Integer. Ein Datenobjekt ist dann ein Iterable, wenn auf definierte Art und Weise mit ihm umgegangen werden kann.
Jetzt soll man sich aber nicht täuschen, was relativ einfach klingt, ist in Tat und Wahrheit ein Umfangreiches Thema. Aber fangen wir mit einem Beispiel an:

Im Beispiel Code haben wir die erste Liste mit drei Zeichenketten, die zweite Liste ist nicht initialisiert.

Mit fruits.map können wir eine Methode der Iterable Class von Dart nutzen.Diese Methode nimmt jedes Element unserer Liste und wendet darauf eine Funktion an, die wir definiert haben. In unserem Beispiel fügen wir dem String aus der Liste fruits noch den String lauch hinzu.

Im Detail: (fruit){....} enthält "unsere" Funktion. Wobei fruit ein Platzhalter ist und für "das aktuelle Element" der Liste steht. Der Variable neuezeichenkette wird der neue String zugewiesen und dann retourniert.
Die Iterable Methode map geht also unsere Liste durch und gibt, wenn sie unsere Liste verarbeitet hat, eine nun abgeändertes Iterable zurück. Das Datenobjekt das wir zurückbekommen, ist aber vom Typ Iterable<T>.
In einigen Fällen möchte man aber eine Liste als Rückgabewert haben.Sei es nur um auf die Methoden der list Klasse Zugriff zu haben. Hier kommt die Methode .toList() ins Spiel, die genau das liefert.

Im nächsten Post werde ich darauf eingehen, was genau <T> oder <E> und Co zu bedeuten haben. Bis bald und Happy Coding ! 



Kommentare

Beliebte Posts aus diesem Blog

Listen in Dart (2021): Part 1 List.filled List.empty und List.add

Dart und Klassen

Flutter Beispiel 6 -- BoxDecoration