d中组件式编程.
原文
作者:HS Teoh
组件式编程:易写,易读,易重用
来实现复杂算法.
复杂性来源:结构冲突与循环
.结构冲突:程序和数据
结构不匹配.
组件编程
关键点是代码应对应数据
结构.惰性求值序列和流
来类比管道来处理数据
.
研究格式化日历
由于日历与输出
结构不匹配,因为一行输出
可能是2个/3个
月.
用组件编程
,先确定,要完成任务需要的结构
:
序号 | 结构 |
---|---|
1 | 按年生成日期 |
2 | 按月分组日期 |
3 | 按周分组日期 |
4 | 周中格式化天数 |
5 | 分组格式化周为月 |
6 | 栅中水平布局(多少 )月份来形成行 |
7 | 输出每个栅行 |
8 | 输出所有行 |
区间
生成数据源,带3个空的,前,弹前
成员函数.前向
有save(保存)
函数.这样,可多次
迭代.
其他任务,相当于是过滤器
.有了组件,用胶水
代码粘贴起来就行了.
/*返回:给定年中的日期区间.*/
动 年中日期()(整 年)
{
中 日期(年,1,1)
.再现!((a,n)=>a[n-1]+1.天)
.直到!(a=>a.年>年);
}
再现
允许我们从初值
通过编程生成区间
.指定生成日期
的关系.直到
限制为指定
年.
返回
类型,只能用动
,用户不知道具体类型
.
按月
分组日期,按月
分组该区间
为区间的区间
.
详细代码在此
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现