HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Variables de rangée de Perl |
Un genre plus intéressant de variables dans le Perl est la variable de rangée qui ne sont rien mais une liste d'entités de grandeurs scalaires (des nombres et des cordes d'i'e). Les variables de rangée ont le même format que celui de l'des variables scalaires sauf qu'elles sont mises en tête par un symbole @.
|
Variables de rangée de Perl
|
Le rapport suivant assigne la liste de trois éléments à la variable de rangée « @fruit » et une liste de deux éléments à une autre variable de rangée « @music ».
|
@fruit = ("orange", "apple", "grape");
@music = ("violine", "flute");
|
|
L'élément de rangée est accédé en employant les index à partir de 0. Des crochets sont utilisés pour indiquer le nombre d'index de l'élément.
|
|
Les tâches de rangée
|
Comme en tout de Perl, la même expression dans un contexte différent peut produire un résultat différent. La première tâche qui est donnée ci-dessous éclate la variable @music de sorte qu'elle soit équivalente à la deuxième tâche.
|
@moremusic = ("organ", @music, "harp");
@moremusic = ("organ", "violine", "flute", "harp");
|
|
Ceci devrait suggérer une manière pour ajouter des éléments à une rangée. Une manière plus propre d'ajouter des éléments est en employant le rapport suivant
|
|
Ici des oeufs est poussés dans l'extrémité du @fruit de rangée. Pour pousser plus d'un article dans la rangée employer un de la méthode suivante. La fonction de poussée ici renvoie la longueur de la nouvelle liste qui est constituée en ajoutant plus d'éléments.
|
push(@fruit, "eggs", "lard");
push(@fruit, ("eggs", "lard"));
push(@fruit, @morefood);
|
|
Pour enlever le dernier article de la liste et le renvoyer, nous employons la fonction de bruit. De notre liste originale la fonction de bruit retourne des anguilles et le @food a maintenant deux éléments :
|
$grub = pop(@fruit); # Now $grub = "grape"
|
|
Ici il est également possible d'assigner la rangée à une variable scalaire. Comme d'habitude le contexte est important. La ligne suivante assigne la longueur du @fruit,
|
|
mais le rapport suivant transforme la liste en corde avec l'espace entre chaque élément. Cet espace peut être remplacé par l'un des l'autre corde en changeant la valeur de la variable spéciale « $ ». Cette variable est juste une parmi beaucoup de variables spéciales du Perl, la plupart d'entre elles ce qui ont des noms impairs.
|
|
Nous pouvons faire des tâches multiples aux variables scalaires en utilisant des rangées :
|
($x, $y) = ($z, $p); # Same as $x=$z; $y=$p;
($x, $y) = @fruit; # $x and $y are the first two
# items of @fruit.
($x, @somefood) = @fruit; # $y is the first item of @fruit
# @somefood is a list of the
# others.
(@somefood, $x) = @fruit; # @somefood is @fruit and
# $x is undefined.
|
|
La dernière tâche se produit parce que les rangées semble être avides, et le @somefood prendra autant de @fruit que lui pouvoir. Par conséquent cette forme mieux est évitée. En conclusion, vous pouvez vouloir découvrir l'index du dernier élément de la liste. Pour faire ceci pour l'usage de rangée de @fruit l'expression suivante
|
|
Comment montrer des rangées
|
Car le contexte est important, il ne devrait pas trop étonner que le code suivant produira un résultat différent :
|
print @fruit; # By itself
print "@fruit"; # Embedded in double quotes
print @fruit.""; # In a scalar context
|
|
Keywords: perl tutorial, perl scripts, perl programming, active perl, perl download,
blackberry perl, perl regular expressions, perl split, perl array, perl script page
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|