자 단항 마이너스 - 에서는 Perl

# 수

는 경우 단항 마이너스에 적용되는 숫자나 문자열을 포함하는 번호,다음 작업 결과는 번호와는 반대를 등록하십시오(를 제외하고는 상황으로, 그것에 대해 다음 섹션에).

여기에는 예입니다. 이 코드는 디스플레 -3 (없이 오류 없음 경고하지 않습니다):

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -'3';

-3,우리가 받은—이것은 수 -3,아라인 '-3'.

# 영

적용할 경우 단항 마이너스 수 0 또는 행 '0',결과될 수 0.

Bareword

을 적용하면 단항 빼기 식별자,그 결과 문자열로 구성된 마이너스 이 ID 입니다. 이 예제에서는 변수 $var 은 선 '-asdf'. 오류없 경고가 아니다.

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $var = - asdf;

print $var;

식별자로 시작해야 합니다 밑줄 또는 편지와 함께. 여기에 사용하는 코드 숫자의 첫 번째 문자로:

▶ Run
#!/usr/bin/perl

my $var = - 3asdf;

print $var;

이 코드는 오류를 생성합니다:

Bareword found where operator expected at script.pl line 3, near "3asdf"
    (Missing operator before asdf?)
syntax error at script.pl line 3, near "3asdf"
Execution of script.pl aborted due to compilation errors.

문자열 숫자로,시작하는 문자와 + 또는 -

여기에는 예제 코드:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -'+44', "\n";
print -'-44', "\n";

이 코드 버전에 따라 달라집니다 Perl. 5.8,5.10,5.12 표시하는 첫 번째 라인 -44고,두 번째 +44. 이후 5.14 두 번째 줄 것입니다 44 지 않고 플러스입니다.

그리고 여기에는 코드를 들어,일반적으로 3 가지 방법에 따라,펄 버전:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -'+0', "\n";
print -'-0', "\n";

5.8,5.10,5.12 표시 -0, +0,버전 5.14 및 5.16 개를 표시합니다. 그리고 이후 5.18 화면에 이 -00.

라인으로 시작하는 문자 +-

는 경우에 적용할 경우 단항 마이너스를 시작하는 줄은 플러스 또는 마이너스이고,그 결과 문자열로 시작하는 또 다른 문자입니다. 예를 들어 다음과 같습니다.

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -"+asdf\n";
print -"-asdf\n";

프로그램이 표시됩니다:

-asdf
+asdf

지 않는 문자열로 시작하 + 또는 -

이 상황에서는 Perl 시도할 것 을 변환할 문자열을 숫자.

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -'3.8asdf';

결과의 코드는 위의 경우와 수 -3.8:

Argument "3.8asdf" isn't numeric in negation (-) at script.pl line 6.
-3.8

공식적인 문서

여기에 조각의 출력 perldoc perlop 에 대한 단항 빼기:

    Unary "-" performs arithmetic negation if the operand is numeric,
    including any string that looks like a number. If the operand is an
    identifier, a string consisting of a minus sign concatenated with the
    identifier is returned. Otherwise, if the string starts with a plus or
    minus, a string starting with the opposite sign is returned. One effect of
    these rules is that "-bareword" is equivalent to the string "-bareword".
    If, however, the string begins with a non-alphabetic character (excluding
    "+" or "-"), Perl will attempt to convert the string to a numeric, and the
    arithmetic negation is performed. If the string cannot be cleanly
    converted to a numeric, Perl will give the warning Argument "the string"
    isn't numeric in negation (-) at ....

다른 기사