考虑一下:
alwaysBeArr = someFunc()
alwaysBeArr.each {
echo "${it.dump()}"
}
有时someFunc()返回一个字符串列表,有时只返回一个字符串。如果它只返回一个字符串“.each {}”就像对待一个字符一样对待它。
是否有一种常规的方法来确保这是一个单个元素数组,即使它只返回一个字符串?
答案 0 :(得分:5)
考虑flatten()
方法。我们创建一个包含结果的列表(在任何一种情况下),然后展平:
def someFunc = { ->
(System.currentTimeMillis() % 2) ? 'mozart' : ['bach', 'beethoven', 'brahms']
}
def alwaysBeArr = [someFunc()].flatten()
alwaysBeArr.each { println it }