との違いを理解しようとしてい*(1..9)ます[*1..9]
それらを変数に割り当てると、同じように機能します
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]
しかし、私が直接使用しようとすると、物事は奇妙に*(1..9)なり[*1..9]ます。
*(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"...]
問題の一部はオペレーターの精度にあると思いますか?しかし、何が起こっているのか正確にはわかりません。*(1..9)使用できるものと同じものを使用できないのはなぜ[*1..9]ですか?