1

(EG In Perl) 条件 A または条件 B のいずれかが同じ結果になる場合

if (A){
    # Consequence X
}elsif (B){
    # Consequence X
}

私たちは書くことができます

if ( A || B ) {
     # Consequence X
}

A と C が真であるか、B と C が真である場合、結果 C が続きます。

これは非常に長く書くことができます:

if ( A && C){
      # Consequence X
} elsif (B && C ){
      # consequence X
}

私の質問は、これを短く書く方法はありますか? このようなもの:

if ( (A && C) || (B && C) ) 

構文的に大丈夫ですか???

4

2 に答える 2

8

はい。

if ( A && C){
      # Consequence X
} elsif (B && C ){
      # consequence X
}

以下と同じです:

if ( (A && C) || (B && C) ){
    #Consequence X
}

Cこれにより、 2 回評価することを回避できます。

if ( (A || B) && C){
    #Consequence X
}

ところで、これはより論理的な質問に似ています。ここでの論理は Perl に限定されません。

于 2013-08-26T07:08:52.507 に答える
3

次のことを試してください。

if (C && (A || B)) {
}
于 2013-08-26T07:09:52.370 に答える