ruby-1.9.2-p180 :003 > result = "test string".match(/(?<mtch>test)/)
=> #<MatchData "test" mtch:"test">
ruby-1.9.2-p180 :011 > result["mtch"]
=> "test"
ruby-1.9.2-p180 :012 > result["fail"]
IndexError: undefined group name reference: fail
from (irb):12:in `[]'
from (irb):12
from /Users/jeremysmith/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'
कोई नामांकित समूह मौजूद है या नहीं, यह जांचने के लिए कोई मिलानडेटा फ़ंक्शन नहीं है। क्या जांचने का कोई और तरीका है?मैं कैसे जांचूं कि नामित समूह किसी मिलानडेट ऑब्जेक्ट में मौजूद है या नहीं?
क्या यह बुरा अभ्यास माना जाता है? –
निर्भर करता है। कभी-कभी आप वास्तव में परवाह नहीं करते हैं कि अपवाद में था (जैसे कि जब आप जानते हैं कि मैच नहीं होने का कारण बनता है)। मैं इसे कम से कम उपयोग करता हूं, लेकिन मुझे इसे खराब शैली नहीं माना जाता है। – EdvardM
लेकिन परिणाम.names.include का उपयोग कर? बेहतर है, आईएमओ, जैसे मैलाडन ने सुझाव दिया। – EdvardM