rebol-万年历
来源:互联网 发布:学会了单片机再学plc 编辑:程序博客网 时间:2024/06/10 00:17
这是rebol的小作业——万年历。因为这门课是本专业第一年开,所以为学弟学妹留点学习资料。其实用rebol来做这个还是很简单的,因为它本身内置有很多日期类型的修饰字。我们可以输入“? now”进行查询。
下面先把源码贴上
REBOL [title: Perpetual calendarauthor: humingversion: 1.0.4]print { 请输入类似“query 2014 06 ” }query: func [ a [integer!] b [integer!] ][e: to-date reduce [ a b 1 ]nian: pick e 1yue: pick e 2week1: e/weekdayk: 0b: remainder nian 4b3: remainder nian 100if b3 = 0 [ b4: remainder nian 400 if b4 = 0 [ k: 1 ] ]if ( b = 0 ) and ( b3 > 0) [ k: 1 ] daysnum: [ 31 28 31 30 31 30 31 31 30 31 30 31 ]daysnum1: pick daysnum yueif yue = 2 [ if k = 1 [ daysnum1: 29 ] ]i: 0weekn: week1 - 1print [ "^/"" " nian "年" yue"月日历" "^/" ]while [ i < daysnum1 ][ i: i + 1weekn: weekn + 1m: remainder weekn 7if m = 0 [ m: 7 ] print [ " " i"号" " 周"m ]]]
然后运行
下面解释一下程序的主要思路。
用户输入两组数字——转换成日期格式——判断是否为闰年——闰年2月为29天——依次打印日期和周几
方法二:
还可以这样,把判断闰年的部分换掉,用每年的12月31号是一年中的第几天来判断是否2月为29天。
c: to-date reduce [ a 12 31 ]
weekc: c/yearday
either weekc = 366 [ k: 1 ] [ k: 0 ]
欢迎大家多提修改意见,越简洁越好!
0 0
- rebol-万年历
- rebol
- 用一门非常小众的语言REBOL写日历(万年历)打印的程序
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- 万年历
- Connected to the target VM,address:'localhost:9120',transport:'socket'
- SAP中修改Z Report时,开发系统和程序的初始系统不一致的问题
- linux 下 java环境变量设置
- Flex4 点击弹出菜单示例
- 初识QTableWidget
- rebol-万年历
- springMVC中的redirect和forward跳转
- 413 Request Entity Too Large
- BeagleBone Black——AM335X——中断控制
- Lua math 库
- 添加压缩功能的完全可控件IP*Works! Zip
- Effective C++:条款23:宁以non-member、non-friend替换member函数
- CCTMXTiledMap 说明
- flex4 操作word文档