rebol 最近紀念日提醒

2021-06-22 12:47:39 字數 1641 閱讀 3715

rebol的乙個大作業,完善蔡學鏞《程式設計ing人人都能學會程式設計》的架構實現提醒最近紀念日的功能。我在課本的基礎上,增加了一點內容。

原始碼如下:

資料檔案:special-date.dat

rebol 	

"janny's birthday" [3 26]

"wedding" [6 15]

"christmas" [12 24]

可復用功能模組:date-util.reb

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,終於到了這一天了,可惜我們不在一處,呵呵,更加思念了!多麼珍貴的三載,酸甜苦辣,風雨同舟,正如你給我部落格的三種分類一樣 大功告成 風雨同舟 美麗世界。這三者都有各自的美,在我們的生活中都不可或缺。人說萬事開頭難,我們有了這三載的同舟共濟,相濡以沫,...