のオペレーター -- Perl

のダブルマイナス演算子が使用されています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.

その他の記事