String#match
और Regexp#match
एक MatchData
लौट जब मैच सफल होता है:'प्रतीक # मिलान' क्यों 'स्ट्रिंग # मैच` और' Regexp # match` से अलग व्यवहार करता है?
"".match(//) # => #<MatchData "">
//.match("") # => #<MatchData "">
//.match(:"") # => #<MatchData "">
लेकिन मैच स्थिति Symbol#match
रिटर्न (जैसे String#=~
):
:"".match(//) # => 0
क्यों Symbol#match
व्यवहार अलग ढंग से करता है? क्या कोई उपयोग मामला है?
वास्तव में बहुत अजीब निर्णय ... – ndn
अच्छा सवाल है। कम से कम यह 'प्रतीक # मिलान' के लिए प्रलेखन में उल्लिखित है: _Returns sym.to_s = ~ obj_। तो यह उद्देश्य है। – knut
किसी भी तरह से संबंधित: http://stackoverflow.com/questions/4884242/why-does-ruby-not-symbol-regex-match-operator – knut