4D-jp 4D Japan Technical Support Team

論理積演算子と比較演算子の併用


論理積演算子と比較演算子が併用された場合,左から右に向かって式が評価されます。演算子の種類による優先順位はありません。これは仕様です。たとえば

$boolean:=False
$text:="foo"
$result:=$text="" && $boolean=False

のようなコードを実行した場合,FalseではなくTrueが返されます。

  • 意図した式
$result:=(($t="") && ($b=False)) 
  • 実際に評価された式
$result:=((($t="") && $b)=False)

左から右に向かって式が評価されるため,論理積演算ではなく,False=Falseという比較演算になっている点に注目してください。こうしたエラーを避けるため,明示的ばカッコを記述することが勧められています。


関連記事

リンク