Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for RHEL 8

5.2.5. if 演算子の出力の理解

if 演算子もブール値を返します。これは、直感的に理解しやすいものです。ただし、以下の例では、if の直感的な使用が誤解を招く可能性がある場合を示しています。

例5.3 if 演算子の出力の誤解

このステートメントは、pkgB がインストールされていない場合には真になります。ただし、このステートメントを、デフォルトの結果が偽であるところで使用すると、事が複雑になります。

Requires: (pkgA if pkgB)

このステートメントは、pkgB がインストールされていて、pkgA がインストールされていない場合に競合します。

Conflicts: (pkgA if pkgB)

そのため、以下を使用することが推奨されます。

Conflicts: (pkgA and pkgB)

if 演算子が or にネストされている場合も同様です。

Requires: ((pkgA if pkgB) or pkgC or pkg)

pkgB がインストールされていない場合に if が真となるため、用語が完全に真となります。pkgB がインストールされている場合にのみ pkgA が役立つ場合は、代わりに and を使用します。

Requires: ((pkgA and pkgB) or pkgC or pkg)