मैं रूबी वाक्यविन्यास पर एक निश्चित दस्तावेज़ खोज रहा हूं। मैं मूल एपीआई और मानक पुस्तकालय के लिए निश्चित दस्तावेजों के बारे में जानता हूं, लेकिन सिंटैक्स के बारे में क्या? उदाहरण के लिए, इस तरह के एक दस्तावेज़ को कवर करना चाहिए: आरक्षित शब्द, स्ट्रिंग अक्षर सिंटैक्स, चर/वर्ग/मॉड्यूल के लिए नियमों का नामकरण, सभी सशर्त बयान और उनके क्रमिक, और आगे।क्या रूबी वाक्यविन्यास के लिए कोई निश्चित संदर्भ दस्तावेज़ है?
मुझे पता है कि कई किताबें और ट्यूटोरियल हैं, हां, लेकिन उनमें से प्रत्येक अनिवार्य रूप से एक ट्यूटोरियल है, प्रत्येक में विभिन्न गहराई और फोकस की एक श्रृंखला है। वे सभी, ब्रेवटी और कथा प्रवाह की आवश्यकता से, उस भाषा के कुछ विवरण छोड़ दें जो लेखक को महत्वहीन मानते हैं।
उदाहरण के लिए, क्या आप जानते थे कि आप प्रारंभिक केस मान के बिना केस स्टेटमेंट का उपयोग कर सकते हैं, और फिर क्लॉज के बाद यह पहला सत्य निष्पादित करेगा? किसी दिए गए रूबी पुस्तक या ट्यूटोरियल मामले वाक्यविन्यास की उस विशेष कम ज्ञात कार्यक्षमता को कवर या नहीं कर सकता है। केस स्टेटमेंट्स के बारे में "प्रोग्रामिंग रूबी" में इस अनुभाग में चर्चा नहीं की गई है। लेकिन यह सिर्फ एक छोटा सा उदाहरण है।
अब तक का सबसे अच्छा दस्तावेज रूबिस्पेक प्रोजेक्ट है, जो भाषा के लिए एक पूर्ण परीक्षण सूट लिखने का प्रयास प्रतीत होता है। यह बुरा नहीं है, लेकिन एक व्यावहारिक दृष्टिकोण से उपयोग करना थोड़ा मुश्किल है, जो कि अपनी परियोजनाओं पर काम कर रहे डेवलपर के रूप में है।
क्या मुझे अभी कुछ याद आ रहा है या वास्तव में कोई निश्चित संपूर्ण रूबी वाक्यविन्यास को परिभाषित करने योग्य पठनीय दस्तावेज़ है?
@ जोर्ग डब्ल्यू मिट्टाग: आईएसओ ड्राफ्ट के बारे में स्पष्टीकरण के लिए धन्यवाद। मुझे कहना है कि 1.8 और 1.9 के सामान्य उप-समूह के बारे में व्यवसाय ड्राफ्ट की वेबसाइट (या प्रेस जो हो रहा है) से बिल्कुल स्पष्ट नहीं है। ड्राफ्टिंग दिशानिर्देश अनुभाग में, वेबसाइट के लेखक कहते हैं (दो बार) कि वे प्राथमिक संदर्भ के रूप में 1.8.7 का उपयोग कर रहे हैं। ज्यादातर लोगों की तरह, मैंने इसका मतलब यह भी लिया कि 1.8.7 वह लक्ष्य था जिसे वे निर्दिष्ट करना चाहते थे। – Telemachus
@Telemachus: यह मसौदा दिशा-निर्देशों में छिपा हुआ है: दूसरा, हम चाहते हैं कि इस तरह की रूबी 1.8.7, रूबी 1.8.6, ** रूबी 1.9 **, JRuby, Rubinius, और IronRuby के रूप में मौजूदा कार्यान्वयन विनिर्देश के अनुरूप कर सकते हैं ** उन्हें संशोधित किए बिना **। वहाँ कुछ विशेषताएं जो कार्यान्वयन के कुछ में लागू नहीं कर रहे हैं या कार्यान्वयन के बीच अलग कर रहे हैं। ** उन सुविधाओं विनिर्देश से बाहर रखा गया है, या के रूप में या तो "कार्यान्वयन परिभाषित" या वर्णित "कार्यान्वयन निर्भर है।" ** –