En Python, si je fais ceci:
print "4" * 4
Je reçois
> "4444"
En Perl, j'aurais
> 16
Y at-il un moyen facile de faire le premier en Perl?
En Python, si je fais ceci:
print "4" * 4
Je reçois
> "4444"
En Perl, j'aurais
> 16
Y at-il un moyen facile de faire le premier en Perl?
$ perl -e 'print "4"x4; print "\n"'
4444
L'opérateur x est documenté dans perldoc perlop. Ici binaire désigne un opérateur prenant deux arguments, pas composé de bits, par la manière.
Binaire "x" est la répétition de l'opérateur. Dans un contexte scalaire, ou si le opérande de gauche n'est pas entre parenthèses, il retourne une chaîne constituée de l'opérande de gauche répété le nombre de fois spécifié par le droit l'opérande. Dans un contexte de liste, si l'opérande de gauche est indiqué entre parenthèses ou une liste formée par "
qw/STRING/
", il répète la liste. Si le droit l'opérande est nul ou négatif, il renvoie une chaîne vide ou vide liste, en fonction du contexte.
print '-' x 80; # print row of dashes
print "\t" x ($tab/8), ' ' x ($tab%8); # tab over
@ones = (1) x 80; # a list of 80 1's
@ones = (5) x @ones; # set all elements to 5
perl -e est destinée à exécuter du code perl en ligne de commande:
$ perl --help Usage: perl [paramètres] [--] [programfile] [arguments] -e une ligne de programme de programme (plusieurs -e qui est autorisé, omettre programfile)
FWIW, c'est aussi l' print 4 x 4
en Perl.
En général, en Perl, les opérateurs sont monomorphes, c'est à dire. vous avez différents ensembles d'opérateurs de la chaîne de la sémantique, de numérique, de la sémantique, de bit-à-bit de la sémantique, etc., où il fait sens, et le type des opérandes en grande partie n'a pas d'importance. Lorsque vous appliquez un opérateur numérique à une chaîne, la chaîne est convertie en un nombre premier et vous obtenez l'opération que vous avez demandé (par exemple. la multiplication), et lorsque vous appliquez un opérateur chaîne pour un certain nombre, il est transformé en une chaîne de caractères et vous obtenez l'opération que vous avez demandé (par exemple. la répétition). Perl accorde de l'attention à l'opérateur d'abord et les types des opérandes seule seconde si, en effet, il paie tout l'esprit à tous.
C'est le contraire de Python et la plupart des autres langues, où vous utilisez un ensemble d'opérateurs, et les types des opérandes déterminer la sémantique que vous aurez réellement obtenir – ie. les opérateurs sont polymorphes.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.