前提
初心者です。
Rubyで以下のような、配列内の数字を直後の数字から引いた数を返すプログラムを作成しました。
data = [1,2,4,8,16] size = data.size.to_i - 1 num1 = 0 num2 = 1 size.times do a = data[num1].to_i b = data[num2].to_i puts b - a num1 += 1 num2 += 1 end #実行結果 1 2 4 8
実現したいこと
上記のプログラムを以下のように作り変えたいのですが、そうすると期待する結果が得られませんでした。
data = [1,2,4,8,16] size = data.size.to_i - 1 num1 = 0 num2 = 1 a = data[num1].to_i b = data[num2].to_i size.times do puts b - a num1 += 1 num2 += 1 end #実行結果 1 1 1 1
変数a,bにおける変数num1,num2の値が初期値から更新されていないと判断して調べているのですが、うまく作り変えられません。
変数の使い方、どのように作り直せばうまくいくのかを教えていただきたくて投稿しました。
また、配列から順番にデータを取り出す際にもっと効率の良いやり方はあるでしょうか?
ご教授の程よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/28 09:07
2019/12/28 09:19
2019/12/29 06:40