/ / push a popping rubínové poľa nums << (nums.pop) + (nums.pop) - rubín

push a popping rubínové poľa nums << (nums.pop) + (nums.pop) - rubín

Videl som tento kód v súhrne rubínovej matice, ktorá tlačila a vyskakovala:

nums = []

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

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

Čo sa tu deje? Snažím sa učiť, ale z nejakého dôvodu som nedokázal pochopiť, čo sa deje v posledných dvoch riadkoch. Môže niekto rozdeliť?

odpovede:

1 pre odpoveď č. 1

pop odstráni posledný prvok z poľa a vráti ho.
<< je rovnaká ako push - pridáva jeden prvok na koniec poľa.
Poradie operácií v riadku by bolo: pop, pop, add, push. Nebudem to teraz vysvetľovať, čítať o tom.

Tak, počnúc [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]

Dúfam, že to pomôže.


2 pre odpoveď č. 2

rad pop metóda vráti posledný prvok z poľa.

takže nums.pop po prvýkrát vráti hodnotu 3 a druhýkrát sa vráti 2

v tomto vyhlásení nums << (nums.pop) + (nums.pop) pridávame tieto hodnoty (3,2) a tlačíme do rovnakého poľa. takže pole výsledkov je [1,5]

Teraz je pole nums [1,5].

Pre druhé vyhlásenie nums << (nums.pop) * (nums.pop) sme popping dva prvky nums array a vynásobením a tlačením výsledku do rovnakého poľa

Výsledné pole je nums = [5].

skontrolujte rubínovú konzolu, aby ste získali viac objasnenia a tiež prešli týmto odkazom http://www.ruby-doc.org/core-2.1.2/Array.html