/ / पुश और पॉपिंग रूबी एरेस नंबर्स << (nums.pop) + (nums.pop) - रूबी

धक्का और popping ruby ​​arrays nums << (nums.pop) + (nums.pop) - रूबी

मैंने इस कोड को रूबी एरे पुशिंग एंड पॉपिंग के सारांश में देखा:

nums = []

nums << 1
nums << 2
nums << 3

nums << (nums.pop) + (nums.pop)
nums << (nums.pop) * (nums.pop)

यहाँ क्या हो रहा है? मैं सीखने की कोशिश कर रहा हूं लेकिन यह समझने में असमर्थ हूं कि किसी कारण से अंतिम 2 लाइनों में क्या होता है। क्या कोई इसे तोड़ सकता है?

उत्तर:

उत्तर № 1 के लिए 1

pop अंतिम तत्व को काटकर एक सरणी बनाता है और उसे वापस करता है।
<< के समान है push - सरणी के अंत में एक तत्व जोड़ता है।
एक पंक्ति में संचालन का क्रम होगा: पॉप, पॉप, ऐड, पुश। मैं अब इसे नहीं समझाऊंगा, इसके बारे में पढ़ूंगा।

तो, [1,2,3] से शुरू:

[1,2,3] --> pop=3,pop=2,add=(2+3),push=5      --> [1,5]
[1,5]   --> pop=5,pop=1,multiply=(1*5),push=5 --> [5]

उम्मीद है की यह मदद करेगा।


जवाब के लिए 2 № 2

सरणी pop विधि सरणी से अंतिम तत्व देता है।

ऐसा nums.pop पहली बार मूल्य लौटाता है 3 और दूसरी बार यह लौटा 2

इस कथन में nums << (nums.pop) + (nums.pop) हम उन (3,2) मानों को जोड़ रहे हैं और एक ही सरणी में धकेल रहे हैं। इसलिए परिणाम सरणी है [1,5]

अब सरणी अंक है [1,5].

दूसरे कथन के लिए nums << (nums.pop) * (nums.pop) हम दो तत्वों की पॉपिंग कर रहे हैं nums array और परिणाम को उसी सरणी में गुणा और धकेलना

परिणामी सरणी है nums = [5].

अधिक स्पष्टीकरण प्राप्त करने के लिए रूबी कंसोल में चेक करें और इस लिंक पर जाएं http://www.ruby-doc.org/core-2.1.2/Array.html