Groovy GStrings和数字格式

时间:2014-03-24 15:43:45

标签: groovy

我在groovy中编写脚本来处理一些文件,我有以下方法来创建生成的文件名

static String formatFileName(String prefix, int counter, String extension) {
    String counterS = String.format('%04d', counter)
    return "$prefix-$counterS$extension"
}

在GString中有一种更优雅的格式化计数器的方法吗?

1 个答案:

答案 0 :(得分:4)

坦率地说,你在这里做的并不多。缩短这一点基本上是挑剔。

正如tim_yates'评论中提到的,你可以将其作为一个单行

return "$prefix-${String.format('%04d', counter)}$extension"

我只能想到一种让它更短的方法,即放弃GStrings并使用sprintf代替,这是Groovy善良的另一个例子。即,extension method of the Object class。就个人而言,我觉得这比大括号混搭更容易阅读。

return sprintf("%s-%04d%s", prefix, counter, extension)