Ruby · Intermediário · Inglês · Informal
splat
O operador *, que na definição agrupa argumentos extras em um array e, na chamada, expande um array em argumentos separados.
Onde usar
Usado em métodos variádicos como def log(*args) e para repassar argumentos com outro(*lista). Também desmonta arrays em atribuições.
Em código
def soma(*nums) = nums.sum
puts soma(1, 2, 3) # => 6
lista = [4, 5]
puts soma(*lista) # => 9
primeiro, *resto = [1, 2, 3]
p resto # => [2, 3]Exemplos
Use a splat to forward all the arguments.
Use um splat para repassar todos os argumentos.
The splat turns the array into separate arguments.
O splat transforma o array em argumentos separados.
Cuidado
Não o confunda com a multiplicação; o * como splat só aparece em parâmetros, chamadas e atribuições.
Sinônimos
asterisco