foreach
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| foreach [2017/06/27 19:42] – [C++] gg | foreach [2017/06/29 10:47] (current) – [Perl] gg | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Die foreach Schleife ist die einfachste aller Schleifen. Sie hat keinen Zähler mehr und funktioniert auf Basis von iterierbaren Datenstrukturen \\ | Die foreach Schleife ist die einfachste aller Schleifen. Sie hat keinen Zähler mehr und funktioniert auf Basis von iterierbaren Datenstrukturen \\ | ||
| - | In den folgenden Beispielen wird ein Array angelegt und mit einer foreach Schleife jedes Element des Arrays ausgegeben. | + | In den folgenden Beispielen wird ein Array bzw. ein Vector (mehr dazu unter Datenstrukturen) |
| ===== Bash ===== | ===== Bash ===== | ||
| Line 12: | Line 12: | ||
| C++ kann das nur mit Hilfe der Standard Library | C++ kann das nur mit Hilfe der Standard Library | ||
| + | === Das Programm === | ||
| <code cpp> | <code cpp> | ||
| #include < | #include < | ||
| Line 19: | Line 19: | ||
| int main() { | int main() { | ||
| - | // initialize a vector => it is iterable, a array not | + | // Vector anlegen. Ein Vector ist bei C++ im Vergleich zu einem Array iterierbar |
| std:: | std:: | ||
| - | // declare the function which is called... | + | // Definiere die Funktion die aufgerufen wird... |
| auto print = [](const int& n) { std::cout << " " << n; }; | auto print = [](const int& n) { std::cout << " " << n; }; | ||
| - | // ...for every element | + | // ...für jedes Element |
| std:: | std:: | ||
| - | // print a new line at the end | + | // eine neue Zeile am Ende ausgeben |
| std::cout << " | std::cout << " | ||
| } | } | ||
| + | </ | ||
| + | === Kompilieren und ausführen === | ||
| + | Die Datei foreach.cpp mit dem obigen Code erstellen und so zum Laufen bringen: | ||
| + | <code bash> | ||
| + | g++ -Wall -g -std=c++14 foreach.cpp -o foreach # kompilieren | ||
| + | ./ | ||
| </ | </ | ||
| Line 59: | Line 65: | ||
| Go kennt eigentlich keine foreach Schleife. | Go kennt eigentlich keine foreach Schleife. | ||
| ===== Java ===== | ===== Java ===== | ||
| + | === Das Programm === | ||
| <code java> | <code java> | ||
| public class ForEachLoop { | public class ForEachLoop { | ||
| public static void main(String[] args) { | public static void main(String[] args) { | ||
| + | // Anlegen eines Array | ||
| int [] fibarray = {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55}; | int [] fibarray = {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55}; | ||
| - | for(int u : nums){ | + | |
| + | | ||
| + | // das element ausgeben | ||
| System.out.println( u ); | System.out.println( u ); | ||
| } | } | ||
| Line 71: | Line 81: | ||
| </ | </ | ||
| - | ===== Javascript | + | === Kompilieren und ausführen |
| + | Die Datei ForEachLoop.java mit obigen Inhalt erstellen und so starten | ||
| + | |||
| + | <code bash> | ||
| + | javac ForEachLoop.java # kompilieren | ||
| + | java ForEachLoop | ||
| + | </ | ||
| + | |||
| + | ===== JavaScript ===== | ||
| + | === Das Programm | ||
| <code javascript> | <code javascript> | ||
| < | < | ||
| Line 78: | Line 97: | ||
| < | < | ||
| < | < | ||
| - | // | + | // definieren der Funktion, die ausgeführt werden soll |
| function alerter(item, | function alerter(item, | ||
| alert(" | alert(" | ||
| } | } | ||
| | | ||
| + | // anlegen des Arrays | ||
| var fibarray = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ]; | var fibarray = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ]; | ||
| | | ||
| + | // für jedes Element des Arrays die oben definierte Funktion ausführen | ||
| fibarray.foreach(alerter); | fibarray.foreach(alerter); | ||
| </ | </ | ||
| Line 90: | Line 111: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | === Ausführen === | ||
| + | Den obigen Code in die Datei foreach.html kopieren und im Browser öffnen. | ||
| ===== Perl ===== | ===== Perl ===== | ||
| + | === Das Programm === | ||
| <code perl> | <code perl> | ||
| # | # | ||
| Line 98: | Line 123: | ||
| use warnings; | use warnings; | ||
| - | for ($i = 1; $i <= 10; $i = $i + 1) { | + | # Anlegen des Arrays |
| - | print "The counter is $i"; | + | my @fiblist |
| + | my $i = 0; | ||
| + | |||
| + | # Für jedes Element in der Liste eine Ausgabe machen | ||
| + | foreach | ||
| + | | ||
| + | $i = $i + 1; | ||
| } | } | ||
| + | </ | ||
| + | === Ausführen === | ||
| + | Das obige Perl Skript in die Datei foreach.pl einfügen und so laufen lassen: | ||
| + | <code bash> | ||
| + | perl foreach.pl | ||
| </ | </ | ||
| ===== PHP ===== | ===== PHP ===== | ||
| + | === Das Programm === | ||
| <code php> | <code php> | ||
| <?php | <?php | ||
| + | // Anlegen des Arrays | ||
| + | $arr = array(0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55); | ||
| + | $i = 0 | ||
| - | for($i = 1; $i <= 10; $i++) { | + | // Für jedes Element dessen Wert ausgeben |
| - | echo "The counter is $i"; | + | foreach |
| + | echo "fibonacci number | ||
| + | $i++; | ||
| } | } | ||
| + | </ | ||
| + | === Ausführen === | ||
| + | Den obigen Quelltext in die Datei foreach.php einfügen und wie folgt zum Laufen bringen. | ||
| + | <code bash> | ||
| + | php foreach.php | ||
| </ | </ | ||
| ===== Python3 ===== | ===== Python3 ===== | ||
| + | === Das Programm === | ||
| + | <code python> | ||
| + | # | ||
| - | Streng genommen ist die for Schleife in Python eine foreach Schleife und wird dadurch hier ausgelassen. | + | # Anlegen des Arrays |
| + | fib = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55] | ||
| + | i = 0 | ||
| + | # Für jedes Element des Arrays die Ausgabe tätigen | ||
| + | for v in fib: | ||
| + | print(" | ||
| + | i = i + 1 | ||
| + | </ | ||
| + | |||
| + | === Ausführen === | ||
| + | foreach.py mit obigen Inhalt erstellen und so ausführen: | ||
| + | <code bash> | ||
| + | python3 foreach.py | ||
| + | </ | ||
foreach.1498585359.txt.gz · Last modified: 2017/06/27 19:42 by gg
