rebol的乙個大作業,完善蔡學鏞《程式設計ing人人都能學會程式設計》的架構實現提醒最近紀念日的功能。我在課本的基礎上,增加了一點內容。
原始碼如下:
資料檔案:special-date.dat
可復用功能模組:date-util.rebrebol
"janny's birthday" [3 26]
"wedding" [6 15]
"christmas" [12 24]
主程式:rebol [
title: "date-util"
name: 'date-util
type: 'module
version: 1.0.0
file: %date-util.reb
exports: [ before-date]
] before-date: func [
m [integer! none! ] "month"
d [integer! none! ] "day" /local year ]
[ unless all [ m d ] [ return none ]
year: now/year
if any [ now/month > m all [ now/month = m now/day > d ] ]
[ year: year + 1
] ( to-date reduce [ year m d ] ) - now
]
執行如下:rebol [
title: "special-date"
version: 1.0.1
author: huming
needs: [ date-util 1.0.0 ]
] data: load %special-date.dat
special-date: func [ s-day [string!] /local m-d m d ] [
m-d: select data s-day
set [ m d ] m-d
before-date m d
] a: special-date "wedding"
b: special-date "christmas"
c: special-date "janny's birthday"
either a < b
[ either a < c [ print " wedding" ]
[ print " janny's birthday" ]
] [
either b < c [ print " christmas" ]
[ print " janny's birthday" ]
]
因為課本已經得到了special-date,就是說可以算出三個紀念日距離今天還有多少天,我們只需要比較出他們之間最小的那個,把它對應的紀念日輸出來就可以了。好的,完成作業了,祝明天考試順利!
戀愛紀念日
蒜頭君和花椰妹談戀愛啦。祝福他們吧。蒜頭君想知道第他們的第 10010 0 天,20020 0 天 紀念日。輸入 4 4 個整數 y,m,d,ky,m,d,k,表示他們在一起的日期,保證是乙個 1900 年 1 月 1 日以後的日期,蒜頭君想知道他們的 k 0 leq k leq 10000 k 0...
雷鋒精神紀念日?
以前一同學跟我說長沙某頻道的某某主持人聲音聽著讓人難受,後來聽的時候仔細注意了一下,發覺不止是她的聲音讓人難受,好些主持人煽情的呻吟都讓人難受。每秒0.8個字的語速,伴隨著時不時快要窒息的沉默以及毫無邏輯的詞語拼湊,常常搞得人想跳車。今天上班途中聽到的是關於雷鋒精神的宣傳,具體內容是讓聽眾發簡訊陳述...
這是我們的紀念日
祝賀我們,明天是我們情定康橋三年的紀念日!boy,終於到了這一天了,可惜我們不在一處,呵呵,更加思念了!多麼珍貴的三載,酸甜苦辣,風雨同舟,正如你給我部落格的三種分類一樣 大功告成 風雨同舟 美麗世界。這三者都有各自的美,在我們的生活中都不可或缺。人說萬事開頭難,我們有了這三載的同舟共濟,相濡以沫,...