背景
Rubyの問題を解いた際、自分の回答に対して、模範回答のスマートさを見て悔しかったので備忘録として残します。
問題
正の整数を入力します。その整数が、
10の倍数(10,20,30...)からの差が
2以内であるときはTrue
それ以外はFalseと出力するメソッドを作りましょう。
出力例:
near_ten(12)→True
near_ten(17)→False
near_ten(19)→True
私の回答
Ruby
def near_ten(num)
if num % 10 <= 2
puts "True"
elsif num % 10 >= 8
puts "True"
else
puts "False"
end
end
模範回答
Ruby
def near_ten(num)
quotient = num % 10
if quotient <= 2 || quotient >= 8
puts "True"
else
puts "False"
end
end
感想
模範回答見たときに、**スマートすぎやろぉ〜**と心の中で叫びました!(出先のもので声出せません)
確かに、またはに該当する" || "の存在を忘れがち。。。。
コードは、正直動けば正解ではありますが、いかにスマートに書くかでカッコ良さがにじみ出るのだと改めて感じました。。。
リファクタリング頑張りやす。。。