Table of Contents
foreach Schleife
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 bzw. ein Vector (mehr dazu unter Datenstrukturen) angelegt und mit einer foreach Schleife jedes Element des Arrays ausgegeben.
Bash
Die Bash kennt kein foreach.
C++
C++ kann das nur mit Hilfe der Standard Library
Das Programm
#include <vector> // vector #include <algorithm> // std:: #include <iostream> // cout int main() { // Vector anlegen. Ein Vector ist bei C++ im Vergleich zu einem Array iterierbar std::vector<int> fib{0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55}; // Definiere die Funktion die aufgerufen wird... auto print = [](const int& n) { std::cout << " " << n; }; // ...für jedes Element in diesem Vector std::for_each(fib.begin(), fib.end(), print); // eine neue Zeile am Ende ausgeben std::cout << "\n"; }
Kompilieren und ausführen
Die Datei foreach.cpp mit dem obigen Code erstellen und so zum Laufen bringen:
g++ -Wall -g -std=c++14 foreach.cpp -o foreach # kompilieren ./foreach # ausführen
C#
using System; namespace ForLoop { class ShowFor { static void Main() { // Anlegen eines Arrays int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 }; // für jedes Element im Array foreach (int element in fibarray) { System.Console.WriteLine(element); } } } }
Golang
Go kennt eigentlich keine foreach Schleife.
Java
Das Programm
public class ForEachLoop { public static void main(String[] args) { // Anlegen eines Array int [] fibarray = {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55}; // für jedes element for(int u : fibarray) { // das element ausgeben System.out.println( u ); } } }
Kompilieren und ausführen
Die Datei ForEachLoop.java mit obigen Inhalt erstellen und so starten
javac ForEachLoop.java # kompilieren java ForEachLoop # ausführen
JavaScript
Das Programm
<!DOCTYPE HTML> <!-- HTML Grundstruktur --> <html> <body> <script> // definieren der Funktion, die ausgeführt werden soll function alerter(item, index) { alert("fibonacci number "+index+" is "+item); } // anlegen des Arrays 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); </script> </body> </html>
Ausführen
Den obigen Code in die Datei foreach.html kopieren und im Browser öffnen.
Perl
Das Programm
#!/usr/bin/perl use strict; use warnings; # Anlegen des Arrays my @fiblist = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55); my $i = 0; # Für jedes Element in der Liste eine Ausgabe machen foreach $a (@fiblist){ print "fibonacci number $i is $a\n"; $i = $i + 1; }
Ausführen
Das obige Perl Skript in die Datei foreach.pl einfügen und so laufen lassen:
perl foreach.pl
PHP
Das Programm
<?php // Anlegen des Arrays $arr = array(0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55); $i = 0 // Für jedes Element dessen Wert ausgeben foreach ($arr as &$value) { echo "fibonacci number $i is $value\n"; $i++; }
Ausführen
Den obigen Quelltext in die Datei foreach.php einfügen und wie folgt zum Laufen bringen.
php foreach.php
Python3
Das Programm
#!/usr/bin/python # 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("fibonacci number "+str(i)+" is "+v); i = i + 1
Ausführen
foreach.py mit obigen Inhalt erstellen und so ausführen:
python3 foreach.py