रूबी 2.3.0 सुरक्षित नेविगेशन सिंटैक्स प्रस्तुत करता है जो एक नए ऑपरेटर को पेश करके जंजीर विधि कॉल के शून्य प्रबंधन को आसान बनाता है जो पिछले कथन का मान शून्य नहीं है, तो केवल विधि को कॉल करता है। यह एक ऐसी सुविधा है जो उदाहरण के लिए पहले से मौजूद है # सी, ग्रोवी और स्विफ्ट में। उदाहरण in Groovy के लिए, वाक्य रचनारुबी सुरक्षित नेविगेशन ऑपरेटर के लिए अपने स्वयं के वाक्यविन्यास का उपयोग क्यों करता है?
foo?.bar
जो मूल रूप से मतलब है कि परिणाम मूल्य की foo.bar जब तक fooअशक्त, जिस स्थिति में वापसी मान भी अशक्त और है कि है इस प्रकार कोई अपवाद नहीं फेंक दिया जाता है। C# (नल-सशर्त ऑपरेटर) और Swift (वैकल्पिक-चेनिंग अभिव्यक्ति कहा जाता है) इस नोटेशन का उपयोग करें।
तो वाक्यविन्यास अन्य भाषाओं में काफी मानक प्रतीत होता है। अब, क्यों रूबी में वाक्यविन्यास
foo&.bar
इसके बजाय क्यों?
'foo? .bar' का अर्थ है "कॉल विधि' foo? ', फिर परिणाम पर विधि' बार 'कॉल करें"। 2.3.0 एक पिछड़ा-संगत रिलीज है, आपके प्रस्तावित वाक्यविन्यास के परिणामस्वरूप ** भारी ** ब्रेकेज होगा, कम से कम * इसे पेश किए जाने से पहले कुछ वर्षों की बहिष्करण चेतावनी की आवश्यकता होगी। –