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