Some parts of this page were machine translated.
Powered by Yandex.Translate
http://translate.yandex.com/
De la tâche. En Perl programme d'un tableau. Besoin de lire la valeur d'un élément de ce tableau.
De la tâche. En Perl programme d'un tableau. Besoin de lire la valeur d'un élément de ce tableau.
Voici un exemple de comment le faire:
#!/usr/bin/perl
my @arr = ('one', 'two', 'three');
print $arr[1];
Si vous enregistrez le texte de ce programme dans un fichier script.pl
et exécuter perl script.pl
, apparaîtront sur l'écran de texte two
.
Donc, ce qui se passe ici.
Tout d'abord, nous avons créé un tableau avec le nom @arr
. La variable-tableau commence par @
, ce symbole semblable à la première
la lettre du mot "array". Nous avons créé un tableau et placé dans celui-3 de l'élément. Dans notre exemple, toutes les 3 éléments est
les lignes, mais en général dans un seul tableau peuvent être des éléments de différents types, par exemple, des chaînes, des nombres et des liens.
Chaque élément d'un tableau a son numéro de série. Ce numéro est appelé "indice". Dans un langage de programmation Perl, comme dans de nombreux autres langages de programmation, les éléments d'un tableau commencent à être numérotés avec des nombres de 0. Dans l'exemple dans le tableau contient 3 éléments:
'one'
est un élément d'un tableau avec un indice de 0
'two'
est un élément d'un tableau avec un indice de 1
'three'
est un élément d'un tableau avec un indice de 2
Pour s'adresser à un élément d'un tableau avec un indice de 1
besoin d'écrire $arr[1]
. Écrivons le nom du tableau et dans le carré
entre parenthèses écrivons l'index de l'élément que nous devons obtenir. Veuillez noter une particularité. Lorsque nous nous adressons
à un élément d'un tableau, alors au lieu de caractère @
dans le nom d'un tableau vous devez écrire le symbole $
(le signe du dollar, symbole semblable à la première
la lettre dans le mot "scalar"). L'idée était que
avec un tel record, nous soulignons que nous avons besoin d'obtenir une seule valeur, mais, à mon avis, c'est une erreur dans la conception
de la langue. Cela n'a rien simplifié, mais au contraire le fait de plus en plus difficile. Dans un langage de programmation Perl6 c'est corrigé,
mais dans Perl5 lors de l'accès à un élément d'un tableau vous devez utiliser le signe dollar $
: $arr[1]
.
Lors de la création d'un tableau @arr
apparaît automatiquement à la variable $#arr
qui contient l'index du dernier élément.
Lors de l'ajout/suppression d'éléments du tableau de valeurs de cette variable est automatiquement modifiée (et même peut être plus
écrire le nombre dans cette variable).
Pour accéder au dernier élément d'un tableau, vous pouvez utiliser l'entrée de $arr[$#arr]
. Mais il est plus facile
utiliser $arr[-1]
. L'indice de -1
signifie l'index du dernier élément dans le tableau, l'indice -2
— l'avant-dernier, etc.
Voici un exemple de code (doucement, il y a une erreur):
#!/usr/bin/perl
my @arr = ('one', 'two', 'three');
print @arr[1]; # error
Cette option est exactement la même que la bonne, mais au lieu d'un bon accès à l'élément du tableau à l'aide de la $arr[1]
ici
utilisé @arr[1]
.
Si vous enregistrez le texte de ce programme dans un fichier script.pl
et de l'exécuter perl script.pl
, l'écran sera le texte
two
. La chaîne de 'two'
, c'est vraiment un élément avec un indice de 1
dans le tableau @arr
, de sorte qu'à première vue, l'erreur n'est pas visible.
Mais si l'ajout dans le code de programme de la chaîne use warnings;
(ce qui est pratiquement toujours la peine de le faire), alors que dans le retrait programme sera
vu l'avertissement:
Scalar value @arr[1] better written as $arr[1] at script.pl line 7.
two
Formulaire d'enregistrement de la @arr[ ]
— c'est l'obtention de plusieurs valeurs de la matrice. Il a appelé une "tranche".
Quelques exemples:
@arr[1,2]
— retourne une liste de deux éléments, les éléments d'un tableau avec des indices 1 et 2
@arr[0..2]
— retourne une liste de trois éléments, les éléments d'un tableau avec des indices 0, 1 et 2
@arr[1, 1]
— retourne une liste de deux éléments, répéter un élément à un indice de 1 à deux fois
L'enregistrement @arr[1]
— retourne une liste à partir d'un élément, plus donne un avertissement.
L'enregistrement @arr[1,]
— retourne une liste à partir d'un élément sans avertissement.
Si vous avez besoin de la valeur d'un élément de tableau, il est préférable d'écrire $arr[1]
.