请考虑以下内容:
alwaysBeArr = someFunc()
alwaysBeArr.each {
echo "${it.dump()}"
}
有时someFunc()返回一个字符串列表,有时只返回一个字符串。如果它只返回一个字符串,".each{}“就把它当作一个字符的数组。
有没有一种很好的方法来确保这是一个单元素数组,即使它只返回一个字符串?
发布于 2017-12-22 00:19:58
考虑flatten()
方法。我们创建一个包含结果的列表(在任何一种情况下),然后展平:
def someFunc = { ->
(System.currentTimeMillis() % 2) ? 'mozart' : ['bach', 'beethoven', 'brahms']
}
def alwaysBeArr = [someFunc()].flatten()
alwaysBeArr.each { println it }
https://stackoverflow.com/questions/47934183
复制