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.

if文の条件式を使いこなしたらかっこいいよね

Last updated at Posted at 2020-03-17

問題

こんなドリル問題がありました。
20時から翌朝7時までにオウムに喋られると問題があるのでその場合は「NG」、
それ以外は「OK」と出力するメソッドを作成します。
オウムが喋る時をture、喋らない時をfalseと入力することにし、時刻も同時に入力します。

呼び出し方:
parrot_trouble(talking, hour)

出力例:
parrot_trouble(true, 6) → NG
parrot_trouble(true, 7) → OK
parrot_trouble(false, 6) → OK
parrot_trouble(false, 7) → OK

どうやって条件式を書くか

この問題は2つの条件を満たした場合のみOKと出力する条件式を記述する必要があります。
それはtalkingが"true"かつ時間が7時〜19時の場合のみです。
それ以外はtalkingが"true"でattatositemo出力は"NG"です。
実際に条件式を記述してみましょう

条件式

def parot_trouble(talking, hour)
  if (talking == true) && (7..19).cover?(hour)
    puts "OK"
  else
    puts "NG"
  end
end

※ご指摘をいただきまして2行目を一部修正を行いました。
1行目でメソッドを定義して引数talkingとhourを受け取ります
2行目ではtalkingがtrueかつhourが7~19の中の数字である場合を定義し
3行目でOKを出力します。
4行目のelseにてそれ以外の場合を指定し
5行目でNGを出力
この条件式により出題の要件を満たすことができます。

if文を制するものはプログラムを制する?

条件式はrailsではコントローラにてエラーハンドリングを行うのに使用されたり、プログラム中に出力を条件によって変えたりとあらゆる場面で使用します。
この条件式の扱いの理解を深めれば深めるほど複雑なロジックを組むことができたり、それを簡単に実装できたりとプログラマとしてのスキルが上がっていくと感じます。
無駄のなく、チーム開発でも他人が理解しやすいコードがかけるようにどんどん練習していきたいですね

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?