闲来没事,用Ruby写个小程序。 感觉那个Date类,取得指定月的最后一天有点麻烦,为什么不封装一个方法直接获取呢。
直接上代码吧
#! ruby -Ku
require "date"
$weekdays = %w{日 一 二 三 四 五 六}
#打印日期头
def dispWeekName
$weekdays.each { |weekName|
print(weekName + "\t")
}
print("\n")
end
#日历类
class CalInfo
attr_reader :year, :month, :curDate, :first_day_week, :last_day
def initialize(year, month)
#年
@year = year
#月
@month = month
#指定年月的Time类实例
cur_date = Date.new(year, month, 1)
#表示指定月,当月最后一天的Date实例
lastday_of_month_date = Date.new(year, month, -1)
#指定月第一天是星期几
@first_day_week = cur_date.wday
#指定月最后日
@last_day = lastday_of_month_date.mday
end
end
def dispCal(cal)
(cal.first_day_week).times {
print("\t")
}
day_week = cal.first_day_week
(1..(cal.last_day)).each {|day|
print(day.to_s + "\t")
day_week += 1
if day_week % 7 == 0 then
print("\n")
day_week = 0
end
}
end
cal = CalInfo.new(2013, 2);
dispWeekName()
dispCal(cal)
运行结果如下:

接下来,准备改成可以接受命令行参数的,这样就可以动态打印指定年月的日历了。
分享到:
相关推荐
ruby186-25 for windows
《深入理解Ruby调试工具:ruby-debug-ide》 在Ruby编程世界中,高效的问题排查与代码调试是开发者必备的技能之一。ruby-debug-ide正是这样一个强大的调试接口,它为Ruby开发环境提供了集成的调试支持,使得开发者...
ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装文件 Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、...
src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。...该版本为ruby-1.8.7-p302
ruby-irb-1.8.7.352-13.el6.x86_64.rpm ruby-irb-1.8.7.352-13.el6.x86_64.rpm
ruby官网文件,但官网的安装包下载速度过于缓慢, 此安装包的版本是2.6.5-1-x64 如果您不知道要安装哪个版本,并且开始使用Ruby,建议您使用Ruby + Devkit 2.6.X(x64)安装程序。它提供了最多数量的兼容gem,并与...
在本压缩包"ruby-1.9.3-p547.tar.gz"中,包含的是Ruby语言的一个特定版本——1.9.3-p547。 Ruby 1.9.3是Ruby的一个重要版本,发布于2012年,它带来了许多性能提升和新特性。这个版本对Ruby的语法进行了改进,包括更...
ruby193-rubygem-bcrypt-ruby-3.0.1-8.el6.centos.alt.x86_64.rpm
Ruby - Ruby 开发 - 常用知识点 backtracking、bit_manipulation、ciphers、conversions、data_structures、discrete_mathematics、dynamic_programming、electronics、maths
ruby193-ruby-irb-1.9.3.484-49.el6.centos.alt.noarch.rpm
ruby193-ruby-irb-1.9.3.484-50.el6.centos.alt.noarch.rpm
Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本自动化、服务器管理等领域。RubyInstaller是Windows...
标题“ruby-1.8.7-p174-i386-mswin32”指的是一个特定版本的Ruby解释器,适用于32位的Windows操作系统。这个版本是Ruby的1.8.7线中的patchlevel 174,通常表示为Ruby 1.8.7-p174。Ruby是一种面向对象的、动态类型的...
ruby193-ruby-libs-1.9.3.484-49.el6.centos.alt.x86_64.rpm
ruby193-ruby-doc-1.9.3.484-49.el6.centos.alt.x86_64.rpm
ruby193-ruby-libs-1.9.3.484-50.el6.centos.alt.x86_64.rpm
ruby193-ruby-devel-1.9.3.484-50.el6.centos.alt.x86_64.rpm
ruby193-ruby-doc-1.9.3.484-50.el6.centos.alt.x86_64.rpm