【问题标题】:groovy: change each element of a list and joingroovy:更改列表的每个元素并加入
【发布时间】:2012-12-06 23:43:22
【问题描述】:

我想将列表中的每个元素用单引号括起来并将它们连接成一个字符串。

示例输入:["aa", "bb", "cc"]

预期输出:"'aa', 'bb', 'cc'"

我猜这可以通过collect+closure来完成,所以我尝试了:

def mylist = ["aa", "bb", "cc"]
println mylist.collect{ 'it' }.join(', ')

但是输出是:"it, it, it" 这不是我想要的。

如何在列表的每个元素上附加和预先附加一个单引号?除了收集和加入之外,还有其他单线(或短)常规解决方案吗?

【问题讨论】:

    标签: collections groovy closures


    【解决方案1】:

    你应该试试

    mylist.collect{ "'$it'" }.join(', ')
    

    使用'it',您只需返回字符串“it”。

    【讨论】:

    • 它不起作用...我尝试了 mylist.collect{ "'$it.toUpperCase()'" }.join(', ')...不确定这是否是由于 toUpperCase方法..
    • 那是因为你没有以正确的方式调用字符串中的变量。试试这个: mylist.collect{ "'${it.toUpperCase()}'" }.join(', ')
    猜你喜欢
    • 1970-01-01
    • 2021-01-13
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 2021-09-12
    • 2020-05-22
    相关资源
    最近更新 更多