User Tools

Site Tools


foreach

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
foreach [2017/06/29 10:33] ggforeach [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) angelegt und mit einer foreach Schleife jedes Element des Arrays ausgegeben.
  
 ===== Bash ===== ===== Bash =====
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::vector<int> fib{0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55};     std::vector<int> fib{0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55};
  
-    // 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 in this vector+    // ...für jedes Element in diesem Vector
     std::for_each(fib.begin(), fib.end(), print);     std::for_each(fib.begin(), fib.end(), print);
  
-    // print a new line at the end+    // eine neue Zeile am Ende ausgeben
     std::cout << "\n";     std::cout << "\n";
 } }
Line 69: Line 69:
 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){+        // für jedes element 
 +        for(int u : fibarray) { 
 +            // das element ausgeben
             System.out.println( u );             System.out.println( u );
         }         }
Line 79: Line 82:
  
 === Kompilieren und ausführen === === Kompilieren und ausführen ===
-Die Datei WhileLoop.java mit obigen Inhalt erstellen und so starten+Die Datei ForEachLoop.java mit obigen Inhalt erstellen und so starten
  
 <code bash> <code bash>
-javac WhileLoop.java # kompilieren +javac ForEachLoop.java # kompilieren 
-java WhileLoop       # ausführen+java ForEachLoop       # ausführen
 </code> </code>
  
-===== Javascript =====+===== JavaScript ===== 
 +=== Das Programm ===
 <code javascript> <code javascript>
 <!DOCTYPE HTML> <!DOCTYPE HTML>
Line 93: Line 97:
   <body>   <body>
     <script>     <script>
-      // +      // definieren der Funktion, die ausgeführt werden soll
       function alerter(item, index) {       function alerter(item, index) {
           alert("fibonacci number "+index+" is "+item);           alert("fibonacci number "+index+" is "+item);
       }       }
              
 +      // 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);
     </script>     </script>
Line 105: Line 111:
 </html> </html>
 </code> </code>
 +
 +=== Ausführen ===
 +Den obigen Code in die Datei foreach.html kopieren und im Browser öffnen.
  
 ===== Perl ===== ===== Perl =====
 +=== Das Programm ===
 <code perl> <code perl>
 #!/usr/bin/perl #!/usr/bin/perl
Line 113: Line 123:
 use warnings; use warnings;
  
 +# Anlegen des Arrays
 my @fiblist = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55); my @fiblist = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55);
- 
 my $i = 0; my $i = 0;
 +
 +# Für jedes Element in der Liste eine Ausgabe machen
 foreach $a (@fiblist){ foreach $a (@fiblist){
    print "fibonacci number $i is $a\n";    print "fibonacci number $i is $a\n";
    $i = $i + 1;    $i = $i + 1;
 } }
 +</code>
 +=== Ausführen ===
 +Das obige Perl Skript in die Datei foreach.pl einfügen und so laufen lassen:
 +<code bash>
 +perl foreach.pl
 </code> </code>
  
 ===== 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); $arr = array(0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55);
 $i = 0 $i = 0
 +
 +// Für jedes Element dessen Wert ausgeben
 foreach ($arr as &$value) { foreach ($arr as &$value) {
     echo "fibonacci number $i is $value\n";     echo "fibonacci number $i is $value\n";
     $i++;     $i++;
 } }
 +</code>
 +=== Ausführen ===
 +Den obigen Quelltext in die Datei foreach.php einfügen und wie folgt zum Laufen bringen.
 +<code bash>
 +php foreach.php
 </code> </code>
  
 ===== Python3 ===== ===== Python3 =====
 +=== Das Programm === 
 <code python> <code python>
 #!/usr/bin/python #!/usr/bin/python
  
 +# Anlegen des Arrays
 fib = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55] fib = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
 i = 0 i = 0
  
 +# Für jedes Element des Arrays die Ausgabe tätigen
 for v in fib: for v in fib:
     print("fibonacci number "+str(i)+" is "+v);     print("fibonacci number "+str(i)+" is "+v);
     i = i + 1     i = i + 1
 +</code>
 +
 +=== Ausführen ===
 +foreach.py mit obigen Inhalt erstellen und so ausführen:
 +<code bash>
 +python3 foreach.py
 </code> </code>
foreach.1498725188.txt.gz · Last modified: 2017/06/29 10:33 by gg