क्या सक्रिय ऑपरेटर &.
रूबी 2.3 से और try!
सक्रिय समर्थन से अदला-बदली करने योग्य तरीका है? यदि वे नहीं हैं, तो उनके बीच क्या अंतर है?रूबी 2.3 सुरक्षित नेविगेशन ऑपरेटर 'और के बीच अंतर क्या हैं। और 'कोशिश करो!' ActiveSupport से विधि?
Q
रूबी 2.3 सुरक्षित नेविगेशन ऑपरेटर 'और के बीच अंतर क्या हैं। और 'कोशिश करो!' ActiveSupport से विधि?
7
A
उत्तर
1
एक महत्वपूर्ण अंतर यह है कि try!
एक अतिरिक्त विधि कॉल है, जबकि &.
नहीं है। मैं एक (वैसे काल्पनिक) अंतर के बारे में सोच सकते हैं कि इस
"1234"&.gsub(/\d/, "a")
$& #=> "1234"
कोई आश्चर्य पैदा करता है यहाँ - तो regex वैश्विक चर सेट कर रहे हैं मैं एक regex मैच था ($&
मिलान किया स्ट्रिंग है)।
लेकिन अगर (एक ताजा आईआरबी सत्र में - यह महत्वपूर्ण है) मैं
"1234".try!(:gsub, /\d+/, "a")
$& #=> nil
कर फिर regex संबंधित वैश्विक शून्य कर रहे हैं। इसका कारण यह है इन वैश्विक वास्तव में वैश्विक नहीं हैं - वे जहां कोड से कहा जाता है
(डॉक्स इस सूत्र और विधि-स्थानीय वैश्विक चर कहते हैं) इस मामले है $&
अभी भी सेट हो रही में से बंधा है, लेकिन यह है try!
विधि के अंदर सेट किया जा रहा है ताकि आप इसे कभी न देख सकें।
अतिरिक्त विधि कॉल भी वास्तविक विधि आप के try!
संबंधित मुद्दे
- 1. सुरक्षित नेविगेशन ऑपरेटर (&।) Nil
- 2. ActiveSupport में mattr_accessor और cattr_accessor के बीच अंतर?
- 3. रेल पर रूबी और रूबी के बीच क्या अंतर है?
- 4. NavigationService.Navigate() विधि और PhoneApplicationFrame.Source प्रॉपर्टी के बीच क्या अंतर है?
- 5. $ {} और # {} के बीच अंतर क्या हैं?
- 6. रेल के बराबर सुरक्षित नेविगेशन हैश
- 7. पैरामीटर परिभाषाओं के बीच अंतर (प्रकार और नाम), और (प्रकार * नाम) के बीच अंतर क्या हैं?
- 8. डाउनकेस और डाउनकेस के बीच अंतर! रूबी
- 9. भेजने और example_eval के बीच रूबी अंतर?
- 10. नए ऑपरेटर और क्लास.न्यू इंस्टेंस() के बीच क्या अंतर है?
- 11. स्ट्रिंग :: एट और स्ट्रिंग :: ऑपरेटर [] के बीच क्या अंतर है?
- 12. पीईजी और सीएफजी के बीच अंतर क्या हैं?
- 13. बैश में ऑपरेटर "=" और "==" के बीच क्या अंतर है?
- 14. | के बीच क्या अंतर है और || या ऑपरेटर?
- 15. क्या ऑपरेटर और डिफ़ाइनप्रोपर्टी के बीच कोई प्रभावी अंतर है?
- 16. थ्रेड-जागरूक और थ्रेड-सुरक्षित के बीच क्या अंतर है?
- 17. सिनात्रा और रामज़ के बीच मुख्य अंतर क्या हैं?
- 18. रूबी: लूप और प्रत्येक लूप के बीच क्या अंतर है?
- 19. रैक और रेल धातु (रूबी) के बीच क्या अंतर है?
- 20. रूबी में% Q और% {} के बीच का अंतर क्या है?
- 21. == और मामले के बीच अंतर?
- 22. रूबी में एसटीडीआईएन और $ स्टडीन के बीच क्या अंतर है?
- 23. आप ActiveSupport :: JSON और JSON मणि के बीच संघर्ष से कैसे निपटते हैं?
- 24. रूबी में कक्षा और क्लास के बीच क्या अंतर है?
- 25. रेल और Grails पर रूबी के बीच क्या अंतर है?
- 26. स्ट्रिंग ऑपरेटरों के बीच अंतर + और << रूबी
- 27. एकाधिक प्रेषण और विधि अधिभार के बीच क्या अंतर है?
- 28. सार विधि हस्ताक्षर, विरासत, और "करो" सम्मेलन
- 29. फैक्ट्री विधि और उपयोगिता कक्षाओं के बीच क्या अंतर है?
- 30. क्या सिंक्रनाइज़ (यह) और सिंक्रनाइज़ विधि के बीच अंतर है
http लागत बौना चाहिए बुला रहे हैं की लागत (एक त्वरित बेंचमार्क में काफी एक परिमाण के क्रम)
try
धीमा हो जाता है किसी भी वास्तविक उपयोग में हालांकि://mitrev.net/ruby/2015/11/13/the-operator-in-ruby/ आपको बस इतना जानने की ज़रूरत है। –टीएलडीआर: ज्यादातर मामलों में, वे लगभग विचलित होते हैं, लेकिन कुछ सूक्ष्मताएं हैं जिनके बारे में आपको अवगत होना चाहिए। –