Groovy错误消息的标准(或最佳做法)是什么,它不应超过一定数量的字符/行,例如80个字符?
考虑以下(工作正常)
throw new IOException("""\
A Jenkins configuration for the given version control
system (${vcs.name}) does not exist."""
.stripIndent()
.replaceAll('\n', ' '))
这将导致一行错误消息,没有缩进字符(我想要的)。但是还有其他方式(“Groovy的做法”)如何实现这一目标?如果没有,你怎么能在一个独立的Groovy应用程序中将这样的方法添加到GString类中(如果找到关于Bootstrap.groovy文件的提示但它似乎与Grails有关)?
示例:"""Consider a multi line string as shown above""".toSingleLine()
答案 0 :(得分:3)
您可以使用String continuation字符,然后删除多个空格:
throw new IOException( "A Jenkins configuration for the given version control \
system (${vcs.name}) does not exist.".replaceAll( /( )\1+/, '$1' ) )
或者你可以将它包装在一个函数中并将其添加到String.metaClass
,因为我相信你所看到的答案。
你认为Bootstrap.groovy
是Grails的事情是正确的,但如果你只是在应用程序生命周期的早期设置metaClass,你应该得到相同的结果......
String.metaClass.stripRepeatedWhitespace = { delegate.replaceAll( /( )\1+/, '$1' ) }
然而,在说这一切时,我可能只是将信息保持在一行