[Débutant] Divers traitements itératifs pour les tableaux Ruby

Environnement d'exécution

Puisqu'il s'agit d'un contenu super basique, je pense qu'il ne dépend pas de l'environnement d'exécution, mais je le préciserai pour le moment. OS : macOS Catalina ver10.15.5 Ruby : 2.7.1p83

each

Traitement itératif de base. Les éléments sont sortis un par un et traités. Fondamentalement, il est entouré de do ~ end. Faites attention à la portée des variables.

sample.rb


numbers = [1, 2, 4, 5, 6]

total = 0
numbers.each do |num|
  total += num
end
p total # 18 

map

La caractéristique est qu'il renvoie un tableau. Le traitement suivant ajoute 10 à l'élément et le produit. Pour un traitement simple, vous pouvez entrer avec {} au lieu de do ~ end.

sample.rb


numbers = [1, 2, 4, 5, 6]

nuadd_num = numbers.map {|num| num + 10}

p add_num
# [11, 12, 14, 15, 16]

select

Les valeurs qui correspondent au jugement du processus sont renvoyées sous forme de tableau.

sample.rb


numbers = [1, 2, 4, 5, 6]

numbers2 = numbers.select {|num| num % 2 == 0}

p numbers2
# [2, 4, 6]

reject

Les valeurs qui ne correspondent pas au jugement du processus sont renvoyées sous forme de tableau. Le contraire de select.

sample.rb


numbers = [1, 2, 4, 5, 6]

numbers2 = numbers.reject {|num| num % 2 == 0}

p numbers2
# [1, 5]

inject Processus de pliage. Les éléments sont affectés à num et i, respectivement, et le traitement est effectué.

sample.rb


numbers = [1, 2, 4, 5, 6]

numbers2 = numbers.inject {|num, i| num + i}

#1ère boucle num= 1, i = 2
#Numéro de la deuxième boucle= 3, i = 4
#3e boucle num= 7, i = 5
#4ème boucle num= 12, i = 6

p numbers2
# 18

Recommended Posts

[Débutant] Divers traitements itératifs pour les tableaux Ruby
Processus itératif Ruby
Ruby à propos de divers processus itératifs
À propos des tableaux Ruby
traitement itératif java
Traitement des branches conditionnelles Ruby
Ruby rejoint plusieurs tableaux
Java aléatoire, divers traitements
Diverses opérations sur les chaînes Ruby
Integer # pow est recommandé pour résoudre à plusieurs reprises la méthode du carré dans Ruby