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

【初心者向け】Rubyで超簡単な本紹介アプリを作ってみる(日付と時間自動付与)

Posted at

#require "date"を使って、投稿に今現在の日時を自動表示させる

こちらは、昨日の記事を参考に作成しています。
https://qiita.com/pontarou194/items/37a9c63fe617e3244e19

#3行で日時を表示させることができる

require "date"
time = DateTime.now
print(time.hour,"時",time.min,"分",time.sec,"秒\n")

putsではなく、printを使用しています。

【理由】
・putsだと改行される。
・printは改行されない
・\nで改行していますが、あとで理由がわかります。

※\nのバックスラッシュは、Macの方はalt+¥でバックスラッシュができます。違ったらスイマセン。

#実際にコードを書いてみる

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

require "date"
time = DateTime.now
print(time.hour,"時",time.min,"分",time.sec,"秒\n")
puts "以下の通り登録しました"
puts "本の名前は「#{title}」"
puts "著者の名前は「#{author}」"
puts "カテゴリは「#{category}」"

#動作確認

本の名前を登録
7つの習慣
著者を登録
コビー
本のカテゴリを入力してください
1:小説
2:ノンフィクション
3:ビジネス書
3
11時59分43秒
以下の通り登録しました
本の名前は「7つの習慣」
著者の名前は「コビー」
カテゴリは「ビジネス書」

#ポイント

printの代わりにputs使うと、おかしなことになります。

本の名前を登録
7つの習慣
著者を登録
コビー
本のカテゴリを入力してください
1:小説
2:ノンフィクション
3:ビジネス書
3
12
時
5
分
42
秒
以下の通り登録しました
本の名前は「7つの習慣」
著者の名前は「コビー」
カテゴリは「ビジネス書」

時間がすべて改行されてしまいます。
ざっくりと覚えるとすれば・・・

・putsは改行される
・printは改行されない

参考にさせていただきました、ありがとうございます。
https://qiita.com/naoge/items/f5d84581d3a301a9c22f

0
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
0
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?