コード全体
require 'date'
# 曜日を配列に入れて変数wdaysに設定する
wdays = ['(日)','(月)','(火)','(水)','(木)','(金)','(土)']
# 配列を呼び出す
puts wdays[0] #日曜
puts wdays[1] #月曜
puts wdays[2] #火曜
puts wdays[3] #水曜
# Dateクラスと各メソッド
puts Date.today #今日の年月日
puts Date.today.year #今日の年
puts Date.today.month #今日の月
puts Date.today.day #今日の日
puts Date.today.wday #今日の曜日を0~6の引数で表示
today = Date.today.wday #今日の曜日を変数に変更
puts wdays[today] #変数と.wdayメソッド、配列を用いた呼び出し方
ターミナルでの表示(本日は2020-11-05、木曜日です)
Dateクラスの使いかた
Dateクラスでは、PC上で設定されている年月日を取得することができます。
以下は、主に使われる、年、月、日、曜日の取得の方法です。
Date.today #今日の年月日
Date.today.year #今日の年
Date.today.month #今日の月
Date.today.day #今日の日
Date.today.wday #今日の曜日を0~6の引数で表示(本日は木曜日なので、4が出ます)
ターミナルでの表示
配列からの呼び出し方
配列からの呼び出し方は、配列名[添字]という書き方によって呼び出すことができます。
今回のコードで言うと、配列名はwdays、戻り値は.wdayを使った変数で表現します。
(今回のコードでいうと変数化する必要は無いのですが、実際に実装する中では変数化して使うことがあるのでは?と思い変数化しています)
wdays = ['(日)','(月)','(火)','(水)','(木)','(金)','(土)']
puts wdays[0] # =>(日) 配列の0番目を取得
today = Date.today.wday #今日の年月日を変数に変更
puts wdays[today] # =>(木)
puts wdays[Date.today.wday] #変数todayを定義しなくても(木)を取り出せます。
おまけ、明日以降を呼び出したいとき
添字を今日の曜日とすることで、配列から値を取得できます。
この変数を定義する際に(Date.today+1).wdayとすると、(金)を取り出せたりします。
tomorrow = (Date.today + 1).wday #今日の日付+1で明日を表現
puts wdays[tomorrow] # =>(金)
puts wdays[(Date.today + 1).wday] #変数tomorrowを定義しなくても(金)を取り出せます。
日付を表示するときには、コントローラー上で表示したいものに合わせて変数todayの定義を工夫してみましょう。
コメント