निम्न पर्ल कोड के ग्रोवी समतुल्य क्या है?नियमित अभिव्यक्ति मिलान के लिए ग्रोवी वाक्यविन्यास
my $txt = "abc : groovy : def";
if ($txt =~/: (.+?) : /) {
my $match = $1;
print "MATCH=$match\n";
# should print "MATCH=groovy\n"
}
मुझे पता है कि एक से अधिक तरीके (नियमित जावा तरीका भी शामिल है) यह करने के लिए है कि - लेकिन क्या यह कर की "ग्रूवी तरह से" क्या है?
यह करने का एक तरीका है, लेकिन यह थोड़ा बेकार लगता है - विशेष रूप से सरणी नोटेशन (m[0][1]
) जो थोड़ा अजीब लगता है। क्या ऐसा कोई बेहतर तरीका है? यदि नहीं - कृपया m[0][1]
के पीछे तर्क का वर्णन करें।
def txt = "java : groovy : grails"
if ((m = txt =~/: (.+?) :/)) {
def match = m[0][1]
println "MATCH=$match"
}
यह प्रिंट क्या होगा? नग्न आंखों को भ्रमित लग रहा है। –
यह कैसे काम करता है? यह क्या करता है नग्न आंखों को भ्रमित लग रहा है। –
आप '' 'm = txt = ~ /: (। +?): /' '' अगर विवरण में भाग लेते हैं? – Sajuuk