Some parts of this page were machine translated.
Powered by Yandex.Translate
http://translate.yandex.com/
O operador duplo menos utilizado em Perl para reduzir o valor da variável em um.
--
em Perl
O operador duplo menos utilizado em Perl para reduzir o valor da variável em um.
Exemplo:
#!/usr/bin/perl
my $i = 100;
$i--;
print $i;
O programa exibirá o número de 99
.
Existem duas formas de registros: você pode especificar um operador, após uma variável (postfix formulário de registo) ou antes de uma variável (префиксная o formulário de entrada):
$i--;
--$i;
No caso de a equipe está em uma linha, então não há diferença entre префиксной e постфиксной forma de gravação.
A diferença é apenas se o operador --
é usado como parte de alguma equipe. Se --
está na frente de uma variável,
o valor da variável aumentar antes de executar o restante da equipe. Se --
encontra-se depois a uma variável, então
o valor da variável aumentar após a execução do restante da equipe.
Aqui está um exemplo.
Ora, este é o programa exibirá o número 100 e 99:
#!/usr/bin/perl
use feature qw(say);
my $i = 100;
say $i--;
say $i;
E aqui esta o programa exibirá o número 99 duas vezes:
#!/usr/bin/perl
use feature qw(say);
my $i = 100;
say --$i;
say $i;
--
para as linhas de
Eu operador ++
tem uma magia quando ele é aplicado a uma variável em que se encontra a cadeia.
Operador de --
tal magia não. A linha a seguir ao número e a partir deste número é subtraído unidade.
Aqui está um exemplo. O programa exibirá o número -1
#!/usr/bin/perl
my $str = 'a1';
$str--;
print $str;
Aqui estão alguns exemplos que fará com que o operador --
com a cadeia de caracteres em uma variável:
'a' -> -1
'100ABC' -> 99
'0100ABC' -> 99
O operador --
, pode usar apenas para as variáveis. Se você tentar usar o --
não é uma variável, e para um número primo, então é
erro. Aqui está um exemplo de código com o erro:
#!/usr/bin/perl
my $i = 100--; # error!
Quando você executa este programa seria um erro:
Can't modify constant item in postdecrement (--) at script.pl line 3, near "100--"
Execution of script.pl aborted due to compilation errors.
Exatamente o mesmo não se aplica a matrizes:
#!/usr/bin/perl
my @arr = (1, 2, 3);
@arr--; # error
Can't modify private array in postdecrement (--) at script.pl line 5, near "@arr--"
Execution of script.pl aborted due to compilation errors.
E a хешам:
#!/usr/bin/perl
my %h = (
a => 1,
);
%h--; # error
Can't modify private hash in postdecrement (--) at script.pl line 7, near "%h--"
Execution of script.pl aborted due to compilation errors.