Publicado em: 20/4/2016
No ruby 2.7 fomos apresentados ao forwarding arguments que é representado pelo ... . Nele você passava vários parametros para um método sem precisar nomear cada um deles. Como no exemplo abaixo
def show_args(...)
puts(...) # should be parenthesized
end
show_args('string', [1, 2], {a: 'a', b: 'b', c: 'c'})
Agora no Ruby 3.0 fomos apresentados ao forwarding arguments along with the leading arguments. Que nos permite rastrear o array e os keyword arguments que foram recebidos dessa forma...
def repass_params(...)
show_args(...)
end
def show_args(named, *args, **kwargs, &block)
puts named
puts args
puts kwargs
end
repass_params('string', [1, 2], {a: 'a', b: 'b', c: 'c'})
Quer ver na prática? Assiste o vídeo.
Achei muito legal essa ideia e acaba trazendo uma infinidade de possibilidades ao utilizar o forwarding arguments. Gostou da dica, quer ver alguma outra dica? Deixa um comentário.