En informatique , le terme « plage » peut faire référence à l’une des trois choses suivantes :
- Les valeurs possibles qui peuvent être stockées dans une variable .
- Les limites supérieure et inférieure d'un tableau .
- Une alternative à l'itérateur .
Plage d'une variable
La plage d'une variable est donnée comme l'ensemble des valeurs possibles que cette variable peut contenir. Dans le cas d'un entier, la définition de la variable est limitée aux nombres entiers uniquement et la plage couvrira tous les nombres compris dans sa plage (y compris le maximum et le minimum). Par exemple, la plage d'une variable entière signée de 16 bits correspond à tous les entiers compris entre −32 768 et +32 767.
Plage d'un tableau
Lorsqu'un tableau est indexé numériquement, sa plage correspond à la limite supérieure et inférieure du tableau. Selon l'environnement, un avertissement, une exception fatale ou un comportement imprévisible se produira si le programme tente d'accéder à un élément du tableau qui se trouve en dehors de la plage. Dans certains langages de programmation , tels que C , les tableaux ont une limite inférieure fixe (zéro) et contiendront des données à chaque position jusqu'à la limite supérieure (donc un tableau avec 5 éléments aura une plage de 0 à 4). Dans d'autres, comme PHP , un tableau peut avoir des trous où aucun élément n'est défini, et donc un tableau avec une plage de 0 à 4 aura jusqu'à 5 éléments (et un minimum de 2).
La plage comme alternative à l'itérateur
Une autre signification de range en informatique est une alternative à iterator . Lorsqu'il est utilisé dans ce sens, range est défini comme « une paire d'itérateurs de début/fin regroupés ». Il est avancé que « les plages sont une abstraction supérieure » (par rapport aux itérateurs) pour plusieurs raisons, notamment une meilleure sécurité.
En particulier, de telles plages sont prises en charge dans C++20 , les bibliothèques Boost C++ et la bibliothèque standard D.
Plage comme type de données

Un type de données pour les plages peut être implémenté à l'aide de génériques .
Exemple en C# .
enregistrement public Plage < T > ( T Début , T Fin ) où T : IComparable ;
Exemple en Kotlin .
classe de données Plage < T : Comparable < T >> ( val début : T , val fin : T )
Exemple en PHP .
classe en lecture seule Range < T > { fonction publique __construct ( public T $start , public T $end , ) {} }
Exemple en Python .
à partir de dataclasses importer dataclass @dataclass classe Plage [ T ] : début : T fin : T
Rust possède une structure de plage intégrée dans la bibliothèque standard dans std::ops::Range .
La portée comme opérateur
Rust possède les opérateurs .. et ..= .
laissez réconfortant = "réconfortant!" . to_string (); laissez chaleureux = & réconfortant [ 5 .. 9 ];
Zig possède également l' opérateur ..
// Pour parcourir des entiers consécutifs, utilisez la syntaxe de plage. var sum : usize = 0 ; for ( 0 .. 5 ) | i | { sum += i ; }