इन दो समकक्ष क्यों हैं?क्यों (10..20) है। (10 ... 20) .last
(10..20).last #=> 20
(10...20).last #=> 20
यह Ruby 'Range.last' does not give the last value. Why? का डुप्लिकेट की तरह लगता है, लेकिन है कि सवाल का जवाब बस कहना है कि यह डिजाइन द्वारा है। ऐसा क्यों बनाया गया है? ..
और ...
का उद्देश्य last
के लिए समान मान लौटा रहा है जब सब कुछ अलग है?
ठीक है, इसका उत्तर केवल राज्यों में है, यह डिज़ाइन द्वारा है। तो मेरा सवाल तब और मैं इसे ऊपर अपडेट कर दूंगा, यह डिज़ाइन द्वारा क्यों है? यह असंगत क्यों है? –
यह असंगत नहीं है। अंत में सीमा में अंतिम वस्तु वापस। दोनों मामलों में सीमा की शुरुआत 10 है और अंतिम 20 है। जो आप वास्तव में चाहते हैं वह है (10 ... 20) .मैक्स # => 1 9 .last और .last (गणना) विभिन्न विधियां हैं और अलग व्यवहार करें। –
1 से 3 तक संख्याओं का एक सेट बनाने के रूप में (1..3) के बारे में मत सोचें, इसे 1 से शुरू होने वाली रेंज ऑब्जेक्ट बनाने के रूप में सोचें, और समावेशी व्यवहार के साथ 3 पर समाप्त करें। फिर (1 ... 3) अंत में विशेष व्यवहार के साथ एक ही वस्तु है। दोनों के पास एक ही अंतिम मूल्य है, सिर्फ अलग व्यवहार है। –