운전자 -- 에서는 Perl

더블 마이너스 운영에 사용되는 펄을 줄이는 변수 값에 의해 하나입니다.

예제:

▶ Run
#!/usr/bin/perl

my $i = 100;

$i--;

print $i;

프로그램이 표시됩니다 수 99.

는 입력 양식

여기에는 두 가지 형태가 있습니다 녹화:지정할 수 있는 통신수한 후에는 변수(Postfix 표기)또는 전에 변수(접두사가 표기):

$i--;
--$i;

면 명령은 하나의 라인에 차이가 없다는 접두사 및 Postfix 표기습니다. 이에는 차이가 있는 경우에만 운영자 -- 의 일부로 사용됩니다. 는 경우 -- 이 앞에 있으며 변수 변수의 값을 증가 할 것이 실행하기 전에 남아있는 명령입니다. 는 경우 -- 은 후에는 변수,다음 변수의 값을 증가 할 것이 실행한 후 남아있는 명령입니다.

여기에는 예입니다.

이 프로그램 번호가 표시됩 100 99:

▶ Run
#!/usr/bin/perl

use feature qw(say);

my $i = 100;

say $i--;
say $i;

하지만 이 프로그램이 표시됩니다 숫자 99 두:

▶ Run
#!/usr/bin/perl

use feature qw(say);

my $i = 100;

say --$i;
say $i;

-- 한 행

++ 있는 특별한 마법을 적용할 경우는 변수는 문자열입니다.

운전자 -- 이 없다,그래서 마법입니다. 문자열을 강제로와에서 이 숫자는 하나를 뺍니다.

여기에는 예입니다. 프로그램 번호가 표시됩 -1

▶ Run
#!/usr/bin/perl

my $str = 'a1';

$str--;

print $str;

여기에 몇 가지 예는 운영자 -- 문자열 변수:

'a' -> -1
'100ABC' -> 99
'0100ABC' -> 99

오용

운전자 -- 만 사용할 수 있는 변수. 를 사용한 경우 -- 하지 않은 변수에 대한 간단한 번호 는 오류를 생성합니다. 다음 예제 코드에 오류가:

▶ Run
#!/usr/bin/perl

my $i = 100--; # error!

이 프로그램을 실행하면 그것은 오류가:

Can't modify constant item in postdecrement (--) at script.pl line 3, near "100--"
Execution of script.pl aborted due to compilation errors.

마찬가지로,그것에 적용할 수 없습 배열:

▶ Run
#!/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.

시:

▶ Run
#!/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.

다른 기사