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/27 19:32] – [Java] 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 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 <vector>    // vector #include <vector>    // vector
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> nums{34, 2, 8, 15267};+    std::vector<int> fib{01, 1, 2, 3, 5, 8, 13, 21, 3455};
  
-    // 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(nums.begin(), nums.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";
 } }
 +</code>
 +=== 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
 +./foreach                                      # ausführen
 </code> </code>
  
Line 44: Line 50:
         {         {
             // Anlegen eines Arrays             // Anlegen eines Arrays
-            int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };+            int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 };
                          
             // für jedes Element im Array             // für jedes Element im Array
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) {
-        int [] nums = {100200300400500};+        // Anlegen eines Array 
 +        int [] fibarray = {01123, 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 );
         }         }
 +    }
 } }
 </code> </code>
  
-===== Javascript =====+=== Kompilieren und ausführen === 
 +Die Datei ForEachLoop.java mit obigen Inhalt erstellen und so starten 
 + 
 +<code bash> 
 +javac ForEachLoop.java # kompilieren 
 +java ForEachLoop       # ausführen 
 +</code> 
 + 
 +===== JavaScript ===== 
 +=== Das Programm ===
 <code javascript> <code javascript>
 <!DOCTYPE HTML> <!DOCTYPE HTML>
Line 77: Line 97:
   <body>   <body>
     <script>     <script>
-      for(i = 1; i <= 10; i++) { +      // definieren der Funktion, die ausgeführt werden soll 
-          alert("The counter is "+i);+      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>     </script>
   </body>   </body>
 </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 92: Line 123:
 use warnings; use warnings;
  
-for ($i = 1; $i <10; $i = $i + 1) { +# Anlegen des Arrays 
-    print "The counter is $i";+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;
 } }
 +</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);
 +$i = 0
  
-for($i = 1; $i <= 10; $i++) { +// Für jedes Element dessen Wert ausgeben 
-    echo "The counter is $i";+foreach ($arr as &$value) { 
 +    echo "fibonacci number $i is $value\n"
 +    $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>
 +#!/usr/bin/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("fibonacci number "+str(i)+" is "+v);
 +    i = i + 1
 +</code>
 +
 +=== Ausführen ===
 +foreach.py mit obigen Inhalt erstellen und so ausführen:
 +<code bash>
 +python3 foreach.py
 +</code>
foreach.1498584730.txt.gz · Last modified: 2017/06/27 19:32 by gg