包含跨两个字段的值对 - Groovy
Contains value pairs across two fields - Groovy
我有一个包含两个字段的数据集:Department_ID 和 Vendor_ID。
我想标记 Department_ID 等于某个值且 Vendor_ID 等于某个值的任何记录。但是,我有很多双鞋要标记。不需要冗长的脚本来冗余地重复信息,我想要一些简短而简单的东西。
旧逻辑:
${(DPT=='10'&& VND=='234' || DPT=='9'&& VND=='13' || DPT=='200'&& VND=='4987' || DPT= ='598' && VND=='123')?"Yes":"NO"}
首选逻辑:
${['10','9','200','598'].contains(DPT)&&['234','13','4987','123'].contains(越南盾)?"Yes":"No"}
首选逻辑的问题是它会标记满足这些值的任意组合的记录。即,它会标记 DPT=='10'&& VND=='13' 的记录...我需要包含功能但只查找某些对。
您可以将这些对放入一个集合中,然后检查该集合中是否包含它们。例如
def known = [
// DPT, VND
["10","123"],
["20","456"],
].toSet()
assert known.contains(["30","789"])==false
assert known.contains(["10","789"])==false
assert known.contains(["30","123"])==false
assert known.contains(["10","123"])==true
您可以检查是否存在一对:
${[['10', '234'], ['9', '13'], ['200', '4987'], ['598', '123']].contains([DPT, VND])?"Yes":"No"}
我有一个包含两个字段的数据集:Department_ID 和 Vendor_ID。 我想标记 Department_ID 等于某个值且 Vendor_ID 等于某个值的任何记录。但是,我有很多双鞋要标记。不需要冗长的脚本来冗余地重复信息,我想要一些简短而简单的东西。
旧逻辑: ${(DPT=='10'&& VND=='234' || DPT=='9'&& VND=='13' || DPT=='200'&& VND=='4987' || DPT= ='598' && VND=='123')?"Yes":"NO"}
首选逻辑: ${['10','9','200','598'].contains(DPT)&&['234','13','4987','123'].contains(越南盾)?"Yes":"No"}
首选逻辑的问题是它会标记满足这些值的任意组合的记录。即,它会标记 DPT=='10'&& VND=='13' 的记录...我需要包含功能但只查找某些对。
您可以将这些对放入一个集合中,然后检查该集合中是否包含它们。例如
def known = [
// DPT, VND
["10","123"],
["20","456"],
].toSet()
assert known.contains(["30","789"])==false
assert known.contains(["10","789"])==false
assert known.contains(["30","123"])==false
assert known.contains(["10","123"])==true
您可以检查是否存在一对:
${[['10', '234'], ['9', '13'], ['200', '4987'], ['598', '123']].contains([DPT, VND])?"Yes":"No"}