1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby】if文の問題

Posted at

背景

Rubyの問題を解いた際、自分の回答に対して、模範回答のスマートさを見て悔しかった:confounded:ので備忘録として残します。

問題

正の整数を入力します。その整数が、
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

感想

模範回答見たときに、**スマートすぎやろぉ〜**と心の中で叫びました!(出先のもので声出せません:unamused:

確かに、またはに該当する" || "の存在を忘れがち。。。。

コードは、正直動けば正解:sparkles:ではありますが、いかにスマート:star2:に書くかでカッコ良さがにじみ出るのだと改めて感じました。。。

リファクタリング頑張りやす。。。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?