質問: [1,2,3] puts d ``` 上記のコードを実行してみると、bの部分でのエラーですべて表示されませんでした。なのでb部分を消して実行してみたところa,c,dが実行され以下が出てきました。 ``` 1..3 1..3 1 2 3 ``` dのレスポンスが私のしたかった命令です。 ただ、eachでこれらを使うと ``` a.each do |number| puts(number) end c.each do |numb| puts(numb) end d.each do |num| puts(num) end ``` ``` 1 2 3 1..3 1 2 3 ``` と、aとdはきちんと実行できました。 これってつまり、dの[1,2,3]で配列した方がどちらの場合でも間違いはないってことですよね? それかaの(1..3)の方法を使うのもいいでしょうか? どうか心優しいかた、教えてください。
回答: `()` は、式を一括りにします。`1, 2, 3` は多重代入する場合以外には文法として誤りなので、`b = (1, 2, 3)` はエラーになるのです。 多重代入は、`b = 1, 2, 3` のようにします。 そうすると、`b = [1, 2, 3]` と同じになります。