> ・*A と *B が同時に有効だった場合のみ有効になる範囲を設定すること > > ・*A と *B の少なくとも一方が有効だった場合に有効になる範囲を設定すること
そんな事もあろうかと、その辺りは既に調査済みですので、簡単にご紹介します。 加藤さんには実証コードをお送りしてあり、これを元に仕様を検討して下さっているとの事です。
;======================= *FLAG1! *TEXT "FLAG1 が有効な場合のみ有効" *FLAG1! ;----------------------- *FLAG1! ! *TEXT "FLAG1 が無効な場合のみ有効(not)" ! *FLAG1! ;----------------------- *FLAG1! *FLAG2!! *TEXT "FLAG1,2 が共に有効な場合のみ有効(and)" *FLAG2!! *FLAG1!
;----------------------- *FLAG1! ! *FLAG2!! !! *TEXT "FLAG1,2 が共に無効な場合のみ有効(not or)" !! *FLAG2!! ! *FLAG1! ;----------------------- *FLAG1! ! *FLAG2!! !! *+"notFLAG1or2" ;※ orを作るために必要な定義 !! *FLAG2!! ! *FLAG1! *notFLAG1or2! ! *TEXT "FLAG1,2 のいずれかが有効な場合のみ有効(or)" ! *notFLAG1or2! ;=======================
orは簡単には作れないので、一段階not orを挟む事で実現します。 このコードを応用すると、andもorも、*FLAG3!!!、*FLAG4!!!! … *FLAG8!!!!!!!!まで増やす事ができます。 「FLAG1〜8が全て有効な場合」と「FLAG1〜8のうち1つでも有効な場合」ですね。
なお、orを取るフラグが2つだけであれば、次のような方法もあります。 ただし、同様の方法で3つ以上に拡張できるかは、今のところ未調査です(たぶん不可能)。
;======================= *FLAG1! ! *FLAG2! *TEXT "FLAG1,2 のいずれかが有効な場合のみ有効(or)" *FLAG1! ! *FLAG2! ;======================= |