某スクールのRuby問題を解いた備忘録。
(自身が情弱知識なので、備忘録は小学生もわかるように書いてみた。)
プログラムを作っているときは、どのくらいの「差」があるのかを数で出したい時がある。
(数で出さなきゃいけない)
例…
⚫︎「車に乗れる人数」と「乗りたい人の数」 → みんな乗れる?乗れない?
⚫︎「今持ってるお金」と「必要なお金」 → お金足りる?足りない?
⚫︎「入院したい人」と「入院できる人の数」 → 入院できる?できない?
プログラムに組んで、簡単に教えてくれる便利な機能をつけたいな。
そんな時、「absメソッド」を使う。
qiita.rb
ty(car, capacity)
capacity = car[:capacity] - capacity
if capacity == 0
puts "みんな乗れます。"
elsif capacity > 0
puts "あと#{capacity}人乗れます。"
else
puts "#{capacity.abs}人乗れません。"
end
end
こんな風に書いた時に、
absメソッドは、負の数の場合は、符号を取って正の数にした数値が取得できます。
たとえば、
5 -7 = -2
になりますが、absメソッドを用いると符号が取られ
「2」に変換されます。
##まとめ
0より小さい数になった数を見せたいんだけど、マイナスの記号はいらないから、マイナスを取った数を表してくれるメソッド。
大人の言い方で、「絶対値を求める」メソッド。