List Groovy使用inject构建列表

List Groovy使用inject构建列表,list,map,groovy,iteration,inject,List,Map,Groovy,Iteration,Inject,全部, 我对Groovy有一个问题。具体地说,我想在我拥有的当前列表上使用inject方法。我需要这个列表是不可变的,并且按照元素构建。以下是我的列表: def initialList = [ "A", "B", "C" ] 我希望能够使用inject语句动态添加/构建此列表,并将其分配给变量。所需的代码应如下所示: def result = initialList.inject(){ initialList + valueOfNextLetter() } 显然,我对这种注入的语义感到困惑。

全部,

我对Groovy有一个问题。具体地说,我想在我拥有的当前列表上使用inject方法。我需要这个列表是不可变的,并且按照元素构建。以下是我的列表:

def initialList = [ "A", "B", "C" ]
我希望能够使用inject语句动态添加/构建此列表,并将其分配给变量。所需的代码应如下所示:

def result = initialList.inject(){ initialList + valueOfNextLetter() }

显然,我对这种注入的语义感到困惑。我有一个函数将返回下一个值,但我似乎无法逐个元素添加列表。理想的结果是这样的代码:获取initialList的当前状态,返回下一个值,然后在initialList的末尾注入处理后的结果。我似乎无法理解Groovy注入。请帮忙。任何评论都是有帮助的。

如果你想完成的是

…将获取initialList的当前状态、返回下一个值和 然后在initialList的末尾注入处理后的结果

我认为使用可能是你想要的,而不是注射

def initialList = ['A', 'B', 'C']

def valueOfNextLetter = {
    'D'
}

def newList = initialList + valueOfNextLetter()

assert ['A','B','C','D'] == newList
assert ['A','B','C'] == initialList
的哪个部分无法传达
inject
的用法?我很乐意清除灰色区域。:)而不是张贴一个重复的问题,你可以评论。