【发布时间】:2009-04-18 22:43:40
【问题描述】:
以下 Perl 代码的 Groovy 等价物是什么?
my $txt = "abc : groovy : def";
if ($txt =~ / : (.+?) : /) {
my $match = $1;
print "MATCH=$match\n";
# should print "MATCH=groovy\n"
}
我知道有不止一种方法可以做到这一点(包括常规的 Java 方式)——但是什么是“Groovy 方式”呢?
这是一种方法,但感觉有点笨拙——尤其是数组表示法 (m[0][1]),感觉有点奇怪。有更好的方法吗?如果不是 - 请描述m[0][1]背后的逻辑。
def txt = "java : groovy : grails"
if ((m = txt =~ / : (.+?) :/)) {
def match = m[0][1]
println "MATCH=$match"
}
【问题讨论】: