[英]Using “any” function in groovy always return the result of the last item closure
我正在嘗試以下內容:
"""foo
bar""".eachLine { line ->
['foo', 'baz'].any{
println(it + ' - ' + line)
line == it
}
}
結果是:
foo - foo
foo - bar
baz - bar
false
我想測試多行字符串的任何行
"""foo
bar"""
存在於數組['foo', 'baz']
。
但是在這里,如果字符串中包含foo
它將返回false事件。
我究竟做錯了什么 ?
嘗試:
"""foo
bar""".split('\\n').any { line -> ['foo', 'baz'].contains(line)}
您可以這樣做的一種方式:
def multiLine = ("""foo
bar""")
List lines = multiLine.split("\n") as List
def lookingFor = ['foo','baz']
if (lookingFor.intersect(lines).size() > 0) {
println "true"
return true
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.