Tương đương Groovy của mã Perl sau đây là gì?Cú pháp Groovy để đối sánh cụm từ thông dụng
my $txt = "abc : groovy : def";
if ($txt =~/: (.+?) : /) {
my $match = $1;
print "MATCH=$match\n";
# should print "MATCH=groovy\n"
}
Tôi biết rằng có nhiều cách để thực hiện điều đó (bao gồm cả cách Java thông thường) - nhưng cách "Groovy" là làm gì?
Đây là một cách để làm điều đó, nhưng nó cảm thấy một chút vụng về - đặc biệt là ký hiệu mảng (m[0][1]
) có cảm giác hơi lạ. Có cách nào tốt hơn không? Nếu không - vui lòng mô tả logic đằng sau m[0][1]
.
def txt = "java : groovy : grails"
if ((m = txt =~/: (.+?) :/)) {
def match = m[0][1]
println "MATCH=$match"
}
Bản in này sẽ như thế nào? Trông khó hiểu với mắt thường. –
Cách này hoạt động? Điều này làm gì? Trông khó hiểu với mắt thường. –
tại sao bạn quấn phần '' 'm = txt = ~ /: (. +?): /' '' Trong câu lệnh if? – Sajuuk