###Rubyでpushメソッド、eachメソッドを用いて多次元配列を作る
表題の通りですが、以下の3つの整数が要素として代入された配列a、配列bが2つあります。
配列a、bに含まれる各要素の和を配列aの「足される数」単位で区切りたいと考えております。
配列aをeachメソッドで繰り返し処理を行う中で、配列bのeachメソッドを繰り返し処理を行うことで各要素の和を生成し他次元配列にすることで実現できると考えたのですが、以下のコードですと想定通りの動作はしないようです。
※百ます計算の様なイメージです
※既に同じような質問がありましたらすいません。一通り洗ったつもりでしたが。
###該当のソースコード
Ruby
1num_array = Array.new 2answer_array = Array.new 3width = [1,2,3] 4height = [4,6,8] 5 6height.each{|a| 7 width.each{|b| 8 num_array.push(a + b) 9 } 10 answer_array.push(num_array) 11 num_array.clear 12} 13 14print answer_array 15
###問題点
出力が[[], [], []]となってしまいます
###試したこと
num_array.clearがある事が原因かと思い、削除してみると
[[5, 6, 7, 7, 8, 9, 9, 10, 11], [5, 6, 7, 7, 8, 9, 9, 10, 11], [5, 6, 7, 7, 8, 9, 9, 10, 11]]
との出力になります。
###補足情報(言語/FW/ツール等のバージョンなど)
ver:ruby 2.3.3
paizaオンライン実行環境より実施
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/12/21 22:52
2016/12/24 10:58