前回の質問・・・
Rubyのeach_slice join mapメソッドの使い方で結構躓いています。
それらメソッドを使ったコードの中で分からないところが
あったので教えてください。
ruby
1num = "000000000000000000000000000000000000" 2p num.chars.each_slice(3).join("A") 3
これを実行するとエラーになってしまいます。
ruby
1C:\Users\u16154\Desktop\ruby_lesson>ruby sample2.rb 2sample2.rb:2:in `<main>': undefined method `join' for #<Enumerator:0x0000000002e92fa8> (NoMethodError)
cmd
1000A000A000A000A・・・
のように0が3回並んだらAが現れることを期待したのですが・・・
#自分の解釈
ruby
1p num.chars.each_slice(3).join("A")
まずcharsによって
0が配列に格納される。
ruby
1"00000000000000" 2↓ 3["0","0","0","0","0"・・・]
次に
ruby
1each_slice(3)
これによって
配列の要素が3つずつ区切られる。
ruby
1[["0","0","0"],["0","0","0"],["0","0","0"]・・・]
そして最後joinによって
ruby
1[["0","0","0"],["0","0","0"],["0","0","0"]・・・].join("A")
なにが原因なのでしょうか?
配列の中に配列があること自体には問題ないはず
分からないので参考になるリンクまたは説明をお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/21 09:26
2019/08/21 09:42
2019/08/21 10:02
2019/08/21 10:19