ntendendo o ruby splat em intervalos e matriz
Estou tentando entender a diferença entre*(1..9)
e[*1..9]
Se eu atribuí-los a variáveis, eles funcionam da mesma maneira
splat1 = *(1..9) # splat1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
splat2 = [*1..9] # splat2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Mas as coisas ficam estranhas quando tento usar*(1..9)
e[*1..9]
diretament
*(1..9).map{|a| a.to_s} # syntax error, unexpected '\n', expecting tCOLON2 or '[' or '.'
[*1..9].map{|a| a.to_s} # ["1", "2", "3"...]
Acho que parte do problema está na precisão do operador? Mas não sei exatamente o que está acontecendo. Por que não consigo usar*(1..9)
o mesmo que eu posso usar[*1..9]
?