From aa4394f2d6627354a18daf3271477eea42e9d1c0 Mon Sep 17 00:00:00 2001 From: Rikuoh Date: Thu, 7 Mar 2024 22:40:32 +0900 Subject: [PATCH] =?UTF-8?q?3/4=E3=83=8F=E3=83=AA=E3=83=9C=E3=83=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cal.rb | 51 ++++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 27 deletions(-) mode change 100644 => 100755 cal.rb diff --git a/cal.rb b/cal.rb old mode 100644 new mode 100755 index 94c0c1e..0ba865e --- a/cal.rb +++ b/cal.rb @@ -1,32 +1,29 @@ +#!/usr/bin/ruby + require 'date' +require 'optparse' -time = Time.now.localtime -year = time.year.to_i -month = time.month.to_i -currentday = time.day # 現在日 -startwday = Date.new(year,month,1).wday # その月の最初の曜日 -endmonth = Date.new(year,month,-1) # その月の日数 -endwday = time.wday # その月の最後の曜日 +optmonth = ARGV.getopts('m:') +optyear = ARGV.getopts('y:') +# opt = OptionParser.new +# opt.on('-m') +# opt.on('-y') +# opt.parse! -a = Date.new(2024, 3, 6) -puts "\t#{a.month}月\s#{a.year}" -b = %w(日 月 火 水 木 金 土) -b.each do |week| - print "\s#{week}" +year = Date.today.year +month = Date.today.month +startwday = Date.new(year, month, 1).wday # その月の最初の曜日 +enddate = Date.new(year, month, -1).day # その月の最後の曜日 +week = %w[日 月 火 水 木 金 土] + +puts "\t#{month}月 #{year}" +puts week.join(' ') +print ' ' * startwday + +days = startwday +(1..enddate).each do |day| + print day.to_s.rjust(2) + ' ' + days += 1 + print "\n" if days % 7 == 0 end -days = (1..31).to_a -days.each do |day| - if day == 1 - print "\n\s\s#{day}" - elsif day % 7 == 0 && day != 7 - print "\s#{day}\n" - elsif day == 7 - print "\s\s#{day}\n" - elsif day >= 10 - print "\s#{day}" - else - print "\s\s#{day}" - end -end -