1
0

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 5 years have passed since last update.

【初心者向け】Rubyで超簡単な本紹介アプリを作ってみる(カテゴリ指定ver)

Last updated at Posted at 2020-01-06

Rubyで簡単な本の紹介アプリを作成。今回はeach do とif文を使って、categoryを指定して作ってみた。

条件

・本の名前が登録できる
・著者が登録できる
・カテゴリ一覧を表示させる
・カテゴリには番号をつける
・カテゴリが登録できる
・最後に本の名前、著者名、カテゴリを一覧表示させる

擬似コードを考える


puts "本の名前を登録"
    title= 名前を取得
puts "著者を登録"
    author = 著者名を取得
puts "本のカテゴリを入力してください"
categorys = 配列を使ってカテゴリ一覧を作る
カテゴリ名の横に数字をつける
each do を使ってカテゴリを表示させる
  category = カテゴリ番号を取得

もし1と入力されたら、○○と表示させる
もし2と入力されたら、○○と表示させる
もし3と入力されたら、○○と表示させる
もし1,2,3のどれでもなかったらその他と表示させる

puts "以下の通り登録しました"
puts "本の名前は○○"
puts "著者の名前は○○"
puts "カテゴリは○○"

実際にコードを書いていく


puts "本の名前を登録"
    title= gets.chomp
puts "著者を登録"
    author = gets.chomp
puts "本のカテゴリを入力してください"
categorys = ["小説","ノンフィクション","ビジネス書"]
number = 1
categorys.each do |category|
  puts "#{number}#{category}"
  number += 1
end
  category = gets.chomp

if category == "1" then
  category = "小説"
elsif 
  category == "2" then
  category = "ノンフィクション"
elsif
  category == "3" then
  category = "ビジネス書"
else
  category = "その他"
end

puts "以下の通り登録しました"
puts "本の名前は「#{title}」"
puts "著者の名前は「#{author}」"
puts "カテゴリは「#{category}」"

動作確認

本の名前を登録
宇宙の歴史
著者を登録
宇宙太郎
本のカテゴリを入力してください
1:小説
2:ノンフィクション
3:ビジネス書
2
以下の通り登録しました
本の名前は「宇宙の歴史」
著者の名前は「宇宙太郎」
カテゴリは「ノンフィクション」

上記のような感じで出来ていたら面白いかも。

ポイント

・categorysの中にカテゴリを複数用意
・categoryをeach doで複数表示させる
・categoryの横には数字をつけたいので、putsにnumberをつける
・数値は0からだと違和感があると思ったので1から表示させるようにした(number = 1とした)
・もし1を選択された場合、小説と表示したかったため、if文で1を小説に変換した。
・カテゴリ一覧以外が入力された場合はその他と表示させた

以上です。
ちょっと思ったのが、if文使わなくても1を小説に2をノンフィクションと変換して表示させることって出来るのかも?
間違い、もっと良い書き方等ございましたら教えていただけますと幸いです。

最後までみてくれてありがとう。

1
0
0

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?