今日も学んだことを忘れないためにメモします。
absメソッドとは
対象となる数値に対して「abs」メソッドを実行すると絶対値(ある数値Xにおいて符号を無視して得られる符号なしの数値のこと)を取得することができる。すなわち正の数の場合はそのままだが負の数の場合は符号を取って正の数にした数値が取得できる。
num = 5.abs
#=> 5
num = (-5).abs
#=> 5
プログラム内容
メソッドに3つの整数a b cを与える
「aとbの差が1」または「aとcの差が1」であり、かつ「bとcとの数値の差が2以上」の場合はTrue、それ以外はFalseを出力する
## 記述内容
def close_far(a,b,c)
x = (a-b).abs
y = (a-c).abs
z = (b-c).abs
if x == 1 && z >= 2
puts "True"
elsif y == 1 && z >= 2
puts "True"
else
puts "False"
end
end
close_far(1, 2, 10)
まず、2~4行目の記述で、abcそれぞれの差分を算出し、絶対値に変換する。
そして6行目のx == 1 && z >= 2で、「aとbの差が1」であり、かつ「bとcとの数値の差が2以上」を検討。
同様に8行目のy == 1 && z >= 2で、「aとcの差が1」であり、かつ「bとcとの数値の差が2以上」を検討する。
以上になります。