9
pointAddress
dizeleri dizim var ve her giriş başka bir dizeden validPointTypes
dizeleri içeriyorsa, her girişi kontrol etmek istiyorum. Groovy: Bir dizenin bir dizinin herhangi bir öğesi içerip içermediğini nasıl kontrol edilir?
def pointAddress = ['bacnet://240101/AV:3', 'bacnet://240101/BV:9', 'bacnet://240101/AV:7', 'bacnet://240101/BALM:15']
def validPointTypes = ['AV', 'AI', 'AO', 'ANI', 'ANO', 'BV', 'BI', 'BO', 'BNI', 'BNO']
Şu anda sadece dev
if
deyimi var.
j = pointName.size()
for(j=j-1; j>=0;j--) {
if(pointAddress[j]) {
if(pointAddress[j].contains('AV') || pointAddress[j].contains('AI') ||
pointAddress[j].contains('AO') || pointAddress[j].contains('ANI') ||
pointAddress[j].contains('ANO') || pointAddress[j].contains('BV') ||
pointAddress[j].contains('BI') || pointAddress[j].contains('BO') ||
pointAddress[j].contains('BNI') || pointAddress[j].contains('BNO')) {
} else {
pointAddress.remove(j)
pointName.remove(j)
m++
}
} else {
pointName.remove(j)
m++
}
}
Daha iyi bir yol olmalı, değil mi?
Sweet yapmalıyım. "PointName" dizisinden girdileri kaldırmam gerektiğinden, eğer "validPointTypes.any {pointAddress [j] .contains (it)})' ile birlikte gittim. Bütün bu diziler yerine bir harita kullanmam gerektiğini düşünüyor. –
findAll bunları sizin için sonuçtan kaldırmalıdır? –
Mükemmel çalışıyor! Sadece ilgili pointName dizi girişini de kaldırmam gerekiyordu. –