Lorsque chaque phrase est imbriquée, elle est difficile à lire, j'ai donc essayé de résumer ce qu'il fallait penser.
shopping_price = [["Des légumes", [200, 250, 220]], ["des fruits", [1200, 1500]]]
S'il y a un tableau en premier lieu, comment en récupérer la valeur? Il peut être retiré en superposant les indices. Si vous récupérez «1200» dans le tableau ci-dessus,
puts shopping_price[1][1][0]
Sera.
La description de base est
Tableau.each do |Paramètres de bloc (variables)|
#Traitement que vous souhaitez répéter
end
Les paramètres de bloc sont des variables qui ne peuvent être gérées que dans do ~ end
. En tant qu'image, on a l'impression que le tableau va un par un.
Si le nom du tableau est au pluriel, c'est souvent le singulier.
shopping_price = [["Des légumes", [200, 250, 220]], ["des fruits", [1200, 1500]]]
shopping_price.each do |shopping|
sum = 0
shopping[1].each do |price|
sum += price
end
puts "#{shopping[0]}Le montant total de#{sum}"
end
#=>La quantité totale de légumes est de 670 yens
#=>Le montant total des fruits est de 2700 yens
À l'extérieur de chaque déclaration,
La première fois [" légumes ", [200, 250, 220]]" La deuxième fois
[" fruit ", [1200, 1500]] Mais
|shopping|`Aller à l'intérieur.
Shopping [1]
est appliqué au tableau de chaque instruction à l'intérieur.
En d'autres termes
La première fois «[200, 250, 220]»
La deuxième fois «[1200, 1500]»
Va dans «prix».
Le premier calcul est sum = 0 + 200 sum = 200 + 250 sum = 450 + 220
Sera.
Dans les achats [0], les "légumes" et "fruits" sont inclus respectivement.
Il y a beaucoup de [crochets] et c'est difficile à lire, mais tous [crochets] sont nécessaires. La refactorisation peut être nécessaire car chaque instruction de chaque instruction et le tableau du tableau sont difficiles à lire.