IN 演算子は、その左側にあるオペランドが、右側にあるオペランドにある値のいくつかと等しい場合に True を返す論理演算子です。
Att | Var | VarBasedOnSDT.Property
IN [ (<コンマ区切りの定数のリスト>) |
コレクション |
配列 ]
Att
IN Data Selector オブジェクト
入力値の説明:
Att
ナレッジベースで定義された
項目属性です。
Var
IN 演算子を使用している
GeneXus オブジェクトで定義されたスカラー
変数です。
VarBasedOnSDT.Property
Structured Data Type (SDT) オブジェクトに基づく
変数のプロパティです。これが 1 つのエレメントのプロパティでなければならないことを考慮してください (定義がコレクションの場合)。
Collection
左側のオペランドと同じデータタイプの
コレクションドメインの項目属性か変数、または
コレクションとして定義されている変数です。
注: 最初のオペランドは
エクスプレッションにすることはできません ("&numValue.ToString() IN &CharCollection" はサポートされません)。
右側のオペランドがコンマ区切りの定数の場合は、IN 演算子の意味は、次のエクスプレッションと同じになります: LeftOperand (左側のオペランド) = FirstConstant (1 番目の定数) OR LeftOperand (左側のオペランド) = SecondConstant (2 番目の定数)、以下同様
右側のオペランドがコレクションまたは配列の場合は、セマンティックは同じですが、リストはその特定の実行においてコレクションまたは配列が持つエレメントによって異なります。
In DataSelectors を使用する場合の説明は、「
For Each コマンドにおけるデータセレクター」を参照してください。
- spc0075: Operand %1 does not match the data type of %2 in the IN comparison.
- spc0076: %1 must be a collection to be used as the right operand in an IN comparison.
- spc0077: %1's data type (%2) is not supported in an IN comparison.
If &element in &Collection
//何らかの処理を実行
EndIf
For Each
where Attribute in &Collection
//何らかの処理を実行
EndFor
For Each
where Attribute in DataSelector
//何らかの処理を実行
EndFor
if &Message.Id in &ErrorCodesCollection //&Message は Messages.Message に基づく
//何らかの処理を実行
Endif