Les paramètres numérotés en Ruby
Ruby 2.7 permet d'alléger l'écriture des blocs grâce aux paramètres numérotés. Voyons cela ensemble
La version 2.7 de Ruby a ajouté la possibilité d'utiliser des paramètres numérotés (numbered parameters) dans des blocs pour ne pas avoir besoin de nommer ceux-ci. Cette fonctionnalité permet ainsi d'alléger l’écriture de bloc en Ruby lorsque le nom des paramètres n’a que peu d’importance.
# Ruby 2.6
array = [1, 2, 3]
array.each { |i| puts i }
# 1
# 2
# 3
# Ruby 2.7
array = [1, 2, 3]
array.each { puts _1 }
# 1
# 2
# 3
Si plusieurs arguments sont passés à un bloc il est aussi possible d'utiliser les paramètres numérotés.
# Ruby 2.6
[1, 2, 3].each_with_index { |i, index| puts i * index }
# 0
# 2
# 6
# Ruby 2.7
[1, 2, 3].each_with_index { puts _1 * _2 }
# 0
# 2
# 6
A noter, qu'il n’est pas possible d’utiliser ensemble les paramètres numérotés et les paramètres nommés.
pokemons = ['pikachu', 'salameche', 'bulbizarre']
pokemons.each { |pokemon| puts "I choose you #{_1}" }
# => SyntaxError