私はPerlプログラムを書こうとしています。プログラムは単純です。変数$ aと$ bが1の場合、何かが印刷されます。しかし、キャッチはプログラムがチェックする必要があります$ var == 1の場合にのみ$ bの値を返します。それ以外の場合は、$ $ var == 0の場合は$ a値のみをチェックする必要があります。複数の条件チェックPerl
私はエラーを取得していますネストされたif.Butを使用してそれを書くことを試みた。(私はそれを、それはマクロを使ってCで行うことができる方法と同じ方法を実行しようとしました。)
my $var = 1 ;
my $a = 1 ;
my $b = 1 ;
if(($a == 1)
{
if($var == 1)
{
&& ($b == 1)
}
)
print " hey ,it worked " ;
}
ケース:1)$ var == 1だから、印刷する前に$ bの値を調べなければなりません。
my $var = 1 ;
my $a = 1 ;
my $b = 0 ;
if(($a == 1)
{
if($var == 1)
{
&& ($b == 1)
}
)
print " hey ,it worked " ;
}
ケース:2)$ b == 0、何も印刷されません。
my $var = 0 ;
my $a = 1 ;
my $b = 1 ;
if(($a == 1)
{
if($var == 1)
{
&& ($b == 1)
}
)
print " hey ,it worked " ;
}
ケース:3)$するvar == 0は、それが$ bの値をチェックしてはならないと行が印刷されます。 私は上記の結果を得るべきです。しかし、私はそれを行う方法を得ていません。親切に助けてください。
あなたは私のquestion.Whatを理解していなかったreplies.Butためのおかげで、私が本当にやりたいが帰り、私は
、.hファイル内のようなものをマクロを定義しますC言語でプログラムを書いていた、あります#define SWITCH 1
.cファイルでは、条件を確認します。
if((a == 1)
#if SWITCH
&& (b == 1)
)
{
print " hey ,it worked " ;
}
だから、ここ
#define SWITCH 0
、bは値が0に変更されfile.Ifマクロ値のスイッチが.hの中で1である場合にのみ、チェックされます$その後、print文は、のみに依存しますaとbの値はチェックされません。私はPerlで同じことをしたいと思います。
reply.Iのおかげでは、質問を編集しました。私を案内してください –
Perlにはマクロがありません。そのレベルの最適化が必要な場合は、最初にPerlを使用すべきではありません。 – ikegami
ええ、私は知っていますが、このperlを実装する最も近い方法は何ですか?const SWITCH => 1または何かを使用してください... –