学習のアウトプット【10の位だけを取り出す方法(Ruby)】
【10の位の数字の取り出し方(Ruby)】
Rubyドリルにて出題。
途中でこちらのサイトを参照。
https://qiita.com/eve1224/items/cc0bcabea60e9ac7ab1d
10の位を取り出す場合
→対象の数字を10で割って、出た数字をさらに10で割った余りを取得すればOK
例) (96 / 10) % 10 = 9
Rubyでは整数を整数で割った余りは、小数点が切り捨てられた整数になることから
上記の方法で算出できるとのこと。
もし100の位を取り出すなら最初を100で割れば同様となる。
(1の位は(96 / 1 ) % 10 =6となるが、最初に1で割る意味がないので、単に10で割った余りを取得すると考えればシンプル)
【複数の戻り値について】
def slice_num(num)
# 10の位の計算
ten = (num/10) % 10
# 1の位の計算
one = num % 10
return ten, one
end
上記のように複数の値を戻り値とすることもできる。
この場合、slice_numは戻り値の個数分の変数に代入できる。
X, Y = slice_num(○○)
※ちなみに、今回の場合returnはなくても成立するらしい。
def addition(a, b)
# 10の位と1の位の数字に対して、足し算を行う
return a + b
end
def multiplication(a,b)
# 10の位と1の位の数字に対して、掛け算を行う
return a * b
end
def slice_num(num)
# 10の位の計算
ten = (num/10) % 10
# 1の位の計算
one = num % 10
return ten, one
end
puts "二桁の整数を入力してください"
input = gets.to_i
X, Y = slice_num(input)
# additionメソッドにX,Yを引数として渡し、処理結果を変数add_resultに代入する。
add_result = addition(X, Y)
# multiplicationメソッドにX,Yを引数として渡し、処理結果を変数multiple_resultに代入する。
multiple_result = multiplication(X, Y)
puts "足し算結果と掛け算結果の合計値は#{add_result + multiple_result}です"