前提・実現したいこと
Rubyで、”ストップ”というまで
足し算をしていくようなプログラムが作りたいと考えています。
例
”数字を入力してください。”
6
”数字を入力してください”
23
”数字を入力してください”
100
”数字を入力してください”
ストップ
合計*129
1 gets.to_iで入力したデータを一つの変数に代入して、
合計するやり方が分かりません。
2 gets.to_iを使っているのに整数以外の
ストップが飛び込んできた場合、いきなり今までのデータを合計する方法が分かりません。
該当のソースコード
puts "Give me a number"
give_me_a_num1 = gets.to_i
puts "Give me a number"
give_me_a_num2 = gets.to_i
puts give_me_a_num1 + give_me_a_num
補足情報
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
ヒント。
1. gets.to_i のように入力をいきなり整数にしてしまうと、「ストップ」を検出できません。
2. 数字が全部でいくつ入力されるか分からないので、give_me_a_num1, give_me_a_num2 のように連番で変数を作ろうとすると破綻します。
ありがとうございます。gets.to_iではなく、gets.chompにして、そこから得た情報に、番号をつけてって、
ストップが出た場合、その番号を整数に変換して、合計を出力すると行ったイメージでしょうか。ムズカしい。もう少しググってみます。
たぶん難しく考えすぎというか、プログラミングにおける習慣的なやり方をご存知ないだけだと思います。
gets.to_i のようにくっつけて使うのではなく、gets (gets.chomp) と to_i を分けて使います。
また、入力を全部番号をつけて管理することもできますが、もっと簡単なやり方があります。
回答1件
あなたの回答
tips
プレビュー