violation[{"msg": msg}] {
required:= ["red", "green", "blue"]
input := ["orange", "purple"]
msg := sprintf("")
}
我想比较所需数组中输入数组中的每个值。在其他语言中,两个普通循环就可以做到。但在 Rego 语言中,它们不是循环。有谁知道我该怎么做
最佳答案
请参阅 iteration 上的文档部分了解如何遍历集合。然而,使用集合通常更为惯用。按照你的例子:
violation[{"msg": msg}] {
required := {"red", "green", "blue"}
input.colors := {"orange", "purple"}
count(required - input.colors) != 0
msg := sprintf("input.colors (%v) does not contain all required colors (%v), [input.colors, required]")
}
关于open-policy-agent - 比较 Rego 语言中的两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62406364/