बनाती है मैं रूबी सीख रहा हूं और अभी सरणी और श्रेणियों के बारे में कुछ सामान प्राप्त कर चुका हूं। मैंने स्लाइस के बारे में कुछ में भाग लिया है, जबकि पहली नज़र में यह समझ में आता है, जब मैं इसमें गहराई से देखता हूं तो मुझे थोड़ा सा भ्रमित करता है।रूबी: रेंज खाली है, लेकिन इसके साथ स्लाइसिंग तत्व
IRB कहता है कि (2..-1).to_a
एक खाली सरणी है, जिसका मतलब सीमा में कोई मान नहीं है, है ना?
लेकिन यदि मैं [:a, :b, :c, :d, :e][2..-1]
में उसी श्रेणी का उपयोग करता हूं, तो मुझे खाली सरणी के बजाय [:c, :d, :e]
वापस मिल जाता है।
अब, मुझे पता है कि -1 सरणी के अंतिम तत्व का प्रतिनिधित्व करता है, इसलिए यह समझ में आता है कि क्या चुना गया, किया। लेकिन अगर सीमा खाली हो जाएगी, तो यह कुछ भी कैसे चुन रहा है?
भविष्य में संदर्भ के लिए, क्या है '* (2 ..- 1) .to_a' में स्टार? – cHao
जो 'स्प्लट' ऑपरेटर होगा। – Peter
अधिक सटीक: 'foo ([1,2,3])' कॉल 'foo' एक (सूची) तर्क के साथ। 'foo (* [1,2,3]) 'इसे तीन के साथ कॉल करता है: यह' foo (1,2,3) 'के बराबर है; सूची deconstructed है और इसके तत्व समारोह कॉल पर बिखरे हुए हैं। – Amadan