मैंने इस कोड को रूबी एरे पुशिंग एंड पॉपिंग के सारांश में देखा:
nums = []
nums << 1
nums << 2
nums << 3
nums << (nums.pop) + (nums.pop)
nums << (nums.pop) * (nums.pop)
यहाँ क्या हो रहा है? मैं सीखने की कोशिश कर रहा हूं लेकिन यह समझने में असमर्थ हूं कि किसी कारण से अंतिम 2 लाइनों में क्या होता है। क्या कोई इसे तोड़ सकता है?
उत्तर:
उत्तर № 1 के लिए 1pop
अंतिम तत्व को काटकर एक सरणी बनाता है और उसे वापस करता है।
<<
के समान है 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