« Patrons de conception/Itérateur » : différence entre les versions

Contenu supprimé Contenu ajouté
imported>AlleborgoBot
m robot Ajoute: da:Enumerator
Mytto (discussion | contributions)
→‎Itérateurs implicites : Coloration syntaxique
Ligne 25 :
Des langages à objets comme [[Perl (langage)|Perl]] et [[Python (langage)|Python]] fournissent un moyen « interne » d'itérer sur les éléments d'un conteneur sans introduire explicitement un itérateur. Cela est souvent implanté par une structure de contrôle ''for-each'', comme dans les exemples suivants:
 
<source lang="perl">
# Perl: itérateur implicite
foreach $val (@list) {
print "$val\n";
}
</source>
 
<source lang="python">
# Python, itérateur implicite
for Value in List:
print Value
</source>
 
<source lang="php">
// ActionScriptPHP, itérateur implicite
foreach ($list as $value)
print $value;
</source>
 
<source lang="java">
// Java, J2SE 5.0, itérateur implicite
for (Value v : list)
System.out.print(v);
</source>
 
<source lang="csharp">
// C#, itérateur implicite
foreach (Value v in list)
Console.WriteLine(v);
</source>
 
<source lang="javascript">
// ActionScript, itérateur implicite
// Javascript, itérateur implicite
for(Value in Object) {
trace(Value+" = "+Object[Value]);
}
</source>
 
Le langage [[C++]] dispose également de la fonction template <code>std::for_each()</code> qui permet des itérations implicites similaires, mais requiert toujours de fournir des objets itérateurs en paramètres d'entrée.