作ったもの、プログラミングで共有できそうなこと、IT関連でやってみたことなど、なんでも書いていきます。ヤドン可愛い

同じスクールの方のブログを見つけ、これならリファクタリングできるんじゃないかなと思ったので自分でもコードを書いてみました。

puts "(1~6)の間で整数を入力してください"  
ary = [1,2,3,4,5,6]  
msg1 = "ary = [1,2,3,4,5,6]の時\""  
msg2 = "\"は、array.indexが\""  
msg3 = "\"となる位置に格納されています"  
msgerr = "入力範囲外です"  

num = gets.to_i  

# if文を使う  
if 1 <= num && num <= 6  
  puts msg1 + num.to_s + msg2 + ary.index(num).to_s + msg3  
else  
  puts msgerr  
end  

# case文も使える  
case num  
when 1,2,3,4,5,6  
  puts msg1 + num.to_s + msg2 + ary.index(num).to_s + msg3  
else  
  puts msgerr  
end  

ポイント

  • 同じ内容のメッセージは上の方にまとめて記述しました。
  • if文は <= や => が使えるのでまとめられます。
  • case文が視覚的にわかりやすそうなのでこっちも書いてみました。
  • putsの部分をpやprintに変えるとちょっと違う結果が返ってきます。

この記事へのコメント

まだコメントはありません