Perlのスカラー変数に0を代入する方法は? マイコード:Perlのスカラー変数に0を代入
$x=0;
if(!$x)
{
print "fail";
}
else
{
print "pass";
}
出力:use strict;
とuse warnings;
に
Perlのスカラー変数に0を代入する方法は? マイコード:Perlのスカラー変数に0を代入
$x=0;
if(!$x)
{
print "fail";
}
else
{
print "pass";
}
出力:use strict;
とuse warnings;
に
電源を入れて失敗し、それが!x
が間違っていることを教えてあげる:
裸の単語は、「厳格な潜水艦ながら、許可されていない "×" "使用中
! $x
- または私のpreferenc e、not $x
。
いつもuse strict;
とuse warnings 'all';
です。
この「警告」はどこから来たのでしょうか?私はここでそれを数回見ましたが(決して "野生の中で")。私はいつも '警告を使う 'を使ってきました。 – melpomene
@melpomene私たちのカップルはそれをしますが、私たちの「すべて」ではありません。例えば、私はしません。しかし、通常よりも多くの警告をすることは本当に傷つけることはできません。 – simbabque
@simbabque変わったことは、それらが同一であるということです: 'use warnings 'all''([perldoc warnings'](https://metacpan.org/pod/warnings#DESCRIPTION) : "*すべての警告は、これらのいずれかでブロック内で有効になります*")。 – melpomene
これは割り当てられていますが、Perlに間違った質問をしています。あなたは "$ x false?"と尋ねているPerlではゼロがfalseに等しいので、Perlはtrueを返します。あなたが知りたいのは、$ xがゼロになることです。
use strict;
use warnings;
my $x=0;
if (not defined $x || $x != 0) {
print "fail";
} else {
print "pass";
}
これはpass
を出力します。
use strict;
と
use warnings;
を使用して、あなたがそれを行うとき、また、あなたの
$x
の前で
my
を追加する必要があります。
これは物事を明確にします。
'pass'を印刷する必要があります – ssr1012
なぜ' 0'が真の値になると思いますか? Perlではfalseとカウントされます。 – melpomene
回答が得られたら、質問を大きく変更しないでください。あなたの編集のために、Sobriqueの答えはもはや意味をなさないので、将来このページを訪れる人は '!x'がどこから来ているのか混乱するでしょう。そのため、使用している正確なコードを常にコピー&ペーストして、それ以上に問題を再現する[mcve]を作成する必要があります。 – ThisSuitIsBlackNot