रूबी का !~ दस्तावेज कहां है? मुझे इसकी उम्मीद थी Regexp पृष्ठ या स्ट्रिंग पेज लेकिन यह वहां नहीं है। जबकि =~ Regexp पेज पर 49 बार और स्ट्रिंग पेज पर 8 बार दिखाई देता है।

2
Stefan Pochmann 15 अक्टूबर 2017, 14:46

2 जवाब

सबसे बढ़िया उत्तर

आप method का उपयोग कर सकते हैं एक विधि के स्वामी को खोजने के लिए:

''.method(:!~)
#=> #<Method: String(Kernel)#!~>

//.method(:!~)
#=> #<Method: Regexp(Kernel)#!~>

!~ को Kernel मॉड्यूल में परिभाषित किया गया था, जिसमें Object शामिल है:

String.ancestors
#=> [String, Comparable, Object, Kernel, BasicObject]

Regexp.ancestors
#=> [Regexp, Object, Kernel, BasicObject]

और क्योंकि Kernel (प्रत्येक) Object में शामिल है, इसकी आवृत्ति विधियों को Object. (या "स्पष्टता" जैसा कि दस्तावेज कहता है, लेकिन आईएमओ जो इसे कम स्पष्ट करता है)

तो यह है: Object#!~

obj !~ अन्य → सत्य या असत्य

यदि दो ऑब्जेक्ट मेल नहीं खाते हैं तो true लौटाता है (=~ विधि का उपयोग करके), अन्यथा false

5
Stefan 15 अक्टूबर 2017, 15:19

यह Object, क्योंकि यह केवल किसी भी =~ कार्यान्वयन को सौंप सकता है।

2
Ry- 15 अक्टूबर 2017, 14:48