uselogic 属性

<description> エレメントの uselogic 属性を使用すると、上記のセクションで説明したデフォルト結合メソッドで使用可能な複数の記述子間で、より複雑な論理関係を定義できます。

HCL ZIETrans では、マクロを記録すると、デフォルトの uselogic 属性が <description> タグに追加されます。この属性は、マクロをホスト端末またはマクロ・エディターで編集すると、再生成されます。ソース表示でマクロを編集した場合には、再生成されません。

注: uselogic 属性を使用すると、マクロ・ランタイムは、個々の記述子の invertmatch 属性と Optional 属性を無視します。
uselogic 属性の値は、単純化された論理式であり、その条件は、後続の記述子の 1 ベースのインデックスです。図 1 は、uselogic 属性を含む <description> エレメントの例を示しています (分かりやすくするために、<string> エレメントの属性の一部が省略されています)。
図 1. <description> エレメントの uselogic 属性の例
<description uselogic="(1 and 2) or (!1 and 3)" />
   <oia status="NOTINHIBITED" optional="false" invertmatch="false"/>
   <string value="&apos;Foreground&apos; row="5" col="8"/>
   <cursor row="18" col="19" optional="false" invertmatch="false"/>
</description>
図 1 において、uselogic 属性の値は次のとおりです。
(1 and 2) or (!1 and 3)
この論理式は、正規の論理式ではなく (条件演算子と論理演算子および式を参照)、uselogic 属性のみで使用される、単純化されたスタイルの論理式です。このスタイルの論理式の規則は、次のとおりです。
  • 数表示 1、2、3 などは、それぞれ <description> エレメント内の第 1、第 2、および第 3 の記述子のブール結果を表します (上記の図では、<oia>、 <string>、および <cursor>)。対応する記述子が存在する数字だけ使用できます。例えば、<description> エレメントに 7 つの記述子がある場合、7 番目の記述子のブール結果を参照するには 7 を使用し、6 番目の記述子のブール結果を参照するには 6 を使用し、以下同様に使用できます。
  • 次の論理演算子だけが使用できます。
    表 1. uselogic 属性の論理演算子
    演算子: 意味:
    論理 AND
    または 論理 OR (包含)
    ! 論理 NOT (否定)
  • 条件をグループ化するには、小括弧 () を使用できます。
  • 以下のエンティティーは使用できません。
    • 算術演算子および式
    • 条件演算子および式
    • 変数
    • Java™ メソッドの呼び出し
図 1 の例では、次のいずれかの状態が発生すると、マクロ・ランタイムは記述子が全体として true かどうかを判別します。
  • 最初の記述子の結果が true であり、2 番目の記述子の結果が true である (1 and 2)
  • 最初の記述子の結果が false であり、3 番目の記述子の結果が true である (!1 and 3)。

uselogic 属性を使用すると、マクロ・ランタイムは、個々の記述子の invertmatch 属性と Optional 属性を無視することに留意してください。