ハロワの動作を時間ごとに変えてみる/完結篇

投稿者: | 2015年4月20日

現在時刻の取得ができるようになったので、「こんにちは、世界!」の改造はできたも同然???仕様は次のとおりです。

  • 0:00~4:59 寝なさいよ!世界!
  • 5:00~6:59 早起きですね、世界!
  • 7:00~10:59 おはよう、世界!
  • 11:00~16:59 こんにちは、世界!
  • 17:00~23:59 こんばんは、世界!

というわけで、なにやら世界さんに対する呼びかけみたいになっちゃいましたが、まあいいでしょう。

#! /usr/bin/swift
import Foundation
let now: Date = Date()
let cal: Calendar = Calendar(identifier: .gregorian)
let cal_comp: DateComponents = cal.dateComponents([.hour, .minute], from:now)
print("ただいま時刻は\(cal_comp.hour!)時\(cal_comp.minute!)分です。")
var aisatu: String = "世界!"
if cal_comp.hour! > 16 {
  aisatu = "こんばんは、" + aisatu
} else if cal_comp.hour! > 10 {
  aisatu = "こんにちは、" + aisatu
} else if cal_comp.hour! > 6 {
  aisatu = "おはよう、" + aisatu
} else if cal_comp.hour! > 4 {
  aisatu = "早起きですね、" + aisatu
} else {
  aisatu = "寝なさいよ!" + aisatu
}
print(aisatu)

前回のコードでは日付から時刻からすべて取得していましたが、この仕様で必要なのは時間だけですので、let cal_compの中身を整理していらないものを消しました。本当は何分の情報はいらないんですが、正しく動作しているかをチェックするために現在時刻を表示させたいので残してあります。

if以降で現在時刻に合わせたメッセージを選んで、最後にそれを表示しています。

$ ./now.swift
ただいま時刻は20時30分です。
こんばんは、世界!

できた!(((o(*゚▽゚*)o)))