最新要闻
- 焦点热文:男子高速撞鸟 鸟腿成三叉戟立标 丰田秒变“玛莎拉蒂”
- 世界关注:解除屏蔽!微信已可正常跳转抖音链接
- 环球最资讯丨造车新势力第一 广汽埃安宣布将涨价:最高涨6000元
- 全球今亮点!称雷军是导师、大哥 何小鹏:但不想成为他 太累了
- 每日热文:郭明錤:iPhone 15 Pro将搭载“固态按键” 取消实体键
- 【播资讯】东北夫妻去三亚 为省8千机票开电车3600公里 充11次电 比油便宜
- 新资讯:9499元割韭菜!厂商喷RTX 4080太贵 惹怒NV后帖子删除:用户叫好
- 短讯!24岁湖北小伙搭17个顺风车到格鲁吉亚求婚引羡慕:女子同意 结婚不要彩礼
- 全球速递!美国航空局系统故障 致全美航班停飞:已有8609架次延误 1251架次取消
- 每日快看:失灵事故再现?特斯拉刹车又出问题:八车连环相撞!这次不一样
- 电脑故障影响数千架次航班!全美航班停飞限制取消
- 灵动岛只是过渡品!iPhone 16或配备屏下Face ID
- 当前要闻:小米将参加MWC2013:不会发布小米13 Ultra
- 弄疯了无数人的游戏:差点让我砸掉显示器!
- 焦点消息!登录、投屏处处受限!视频平台被指吃相难看 你还开会员吗?
- 热消息:伊利回应30支冰糕分30箱发货 被网友吐槽太浪费:订单推送失误造成
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球热议:读编程与类型系统笔记05_函数类型
(资料图)
1.策略模式
1.1.在运行时从一组算法中选择某个算法
1.1.1.封装一组算法
1.1.2.在运行时使用其中一个算法
1.2.把算法与使用算法的组件解耦
1.3.面向对象实现
1.3.1.惯例实现
1.3.2.IStrategy接口
1.3.3.ConcreteStrategy1类
1.3.4.ConcreteStrategy2类
1.3.5.通过IStrategy接口使用算法的Context类
1.3.6.常见原因
1.3.6.1.依赖接口的方法
1.3.6.2.设计模式在20世纪90年代流行起来
1.3.6.3.当时并不是所有主流编程语言都支持一等函数
1.4.函数式实现
1.4.1.Context类
1.4.2.concreteStrategy1()函数
1.4.3.concreteStrategy2()函数
1.4.4.更简洁的实现
2.函数的类型
2.1.函数的签名
2.2.函数的实参类型和返回类型决定了函数的类型
2.3.两个函数接受相同的实参,并返回相同的类型
2.3.1.函数具有相同的类型
3.一等函数
3.1.将函数赋值给变量,并像处理类型系统中的其他值一样处理它们
3.2.一等公民
3.2.1.赋予它们与其他值相同的权利
3.2.2.有类型
3.2.3.可被赋值给变量
3.2.4.可作为实参传递
3.2.5.可被检查是否有效
3.2.6.在兼容的情况下可被转换为其他类型
4.状态机
4.1.有一组状态,以及状态之间的转移
4.2.以给定状态(也叫作开始状态)开始;如果满足特定条件,就能转移到另外一个状态
4.3.经典的状态机
4.3.1.将状态集合定义为一个枚举
4.3.2.跟踪当前的状态
4.3.3.使用覆盖所有可能状态的switch语句来获得所希望的行为
4.3.4.使用switch语句的状态机
4.3.4.1.缺点
4.3.4.1.1.状态没有与想要在每种状态下运行的逻辑联系在一起
4.3.4.1.2.状态和转移作为一个单独的枚举进行维护,有不同步的风险
4.4.使用函数的状态机
4.4.1.状态完全是由一个函数来表示
4.4.2.不需要单独跟踪状态
4.4.2.1.状态与处理逻辑保持同步
4.4.2.2.去掉了枚举
4.4.2.3.去掉状态属性
4.4.2.4.去掉处理转交给合适方法的switch语句
4.4.3.更简洁的实现
4.4.3.1.缺点:每种状态关联更多信息要显式声明可能的状态和转移
4.5.使用和类型的状态机
4.5.1.把每种状态表示为一个单独的类型
4.5.2.整个状态机表示为可能状态的一个和类型
4.5.3.把状态机分解到类型安全的组件中
4.5.4.比依赖函数的实现更长
4.5.4.1.优点:允许我们在每种状态中添加属性和成员,把它们组合在一起
4.6.不使用switch语句的状态机
5.延迟计算
5.1.可以传递函数而不是传递实际的值,并在需要值的时候调用这些函数
5.2.纯粹的面向对象结构可以实现,但是代码比函数式多得多
5.3.许多函数式编程语言共有的特征
5.3.1.所有内容都是尽可能晚计算的
5.4.lambda
5.4.1.匿名函数
5.4.2.一次性函数
5.4.2.1.只会引用这种函数一次,所以为其命名就成了多余的工作
6.立即计算
6.1.立即得到并传递值,即使我们在以后决定丢弃该值
6.2.命令式编程语言(如TypeScript、Java、C#和C++)
7.一阶函数
7.1.普通函数
7.2.接受一个或多个非函数实参并返回一个非函数类型的“标准”函数
8.高阶函数
8.1.定义:把所有接受或返回其他函数的函数
8.1.1.二阶函数
8.1.1.1.接受一个一阶函数作为实参或者返回一个一阶函数的函数
8.1.2.三阶函数
8.1.2.1.接受二阶函数作为实参或者返回二阶函数的函数
8.2.基础算法
8.2.1.map()
8.2.1.1.给定某个类型的值的一个集合
8.2.1.2.对其中每个值调用一个函数
8.2.1.3.返回结果集合
8.2.1.4.自制map
8.2.1.4.1.一个T数组和一个函数作为实参
8.2.1.4.2.该实参函数接受项目T作为实参,并返回U类型的一个值
8.2.1.4.3.函数把结果添加到一个U数组中
8.2.1.5.C# System.Linq Select()
8.2.1.6.Java java.util.stream map()
8.2.2.filter()
8.2.2.1.给定一个数据项集合和一个条件
8.2.2.2.过滤掉不满足该条件的数据项
8.2.2.3.返回满足该条件的数据项集合
8.2.2.4.自制filter
8.2.2.4.1.输入数组的类型为T
8.2.2.4.2.过滤函数接受T作为实参,并返回boolean结果
8.2.2.4.2.1.谓词
8.2.2.4.2.1.1.接受一个实参并返回一个boolean的函数
8.2.2.4.3.返回过滤后的输出
8.2.2.5.C# System.Linq Where()
8.2.2.6.Java java.util.stream filter()
8.2.3.reduce()
8.2.3.1.将所有集合项合并为一个值
8.2.3.1.1.创建一个初始值
8.2.3.1.2.遍历集合并把每个数据项与累积项合并,不断累积结果
8.2.3.1.3.遍历完集合后返回累积结果
8.2.3.2.自制reduce
8.2.3.2.1.泛型函数
8.2.3.2.1.1.实参为T数组
8.2.3.2.1.2.实参T类型的一个初始值
8.2.3.2.1.2.1.需要处理输入数组为空的情况
8.2.3.2.1.3.实参一个接受两个T类型的实参并返回T类型的结果
8.2.3.3.C# System.Linq Aggregate()
8.2.3.4.Java java.util.stream reduce()
8.2.3.5.没有幺半群时
8.2.3.5.1.考虑初始值是什么
8.2.3.5.2.在哪个方向上进行缩减
8.3.抽象代数
8.3.1.处理集合以及集合上的操作
8.3.2.T值集合上的一个操作
8.3.2.1.类型T的一个操作接受两个T作为实参,并返回另一个T,即(T, T) => T
8.3.3.单位元
8.3.3.1.T的一个元素id
8.3.3.2.操作op(x, id) == op(id, x) == x
8.3.3.3.id与其他任何元素合并起来,并不会改变其他元素
8.3.3.3.1.操作是加法时,单位元是0
8.3.3.3.2.操作是乘法时,单位元是1
8.3.3.3.3.操作为字符串连接时,单位元是“”(空字符串)
8.3.4.相关性
8.3.4.1.操作的一个属性
8.3.4.2.对元素序列应用操作的顺序并不重要,因为最终结果是相同的
8.3.4.3.op(x, op(y, z)) == op(op(x, y), z)
8.3.4.3.1.加法
8.3.4.3.2.乘法
8.3.4.3.3.减法
8.3.4.3.4.连接两个字符串的首字母
8.3.5.幺半群(monoid)
8.3.5.1.有一个单位元
8.3.5.2.具有相关性
8.3.5.3.不要求提供初始值
8.3.5.3.1.在集合为空时默认使用单位元
8.3.6.半群(semigroup)
8.3.6.1.没有单位元
8.3.6.1.1.把初始值放到第一个元素的左边或者最后一个元素的右边很重要
8.3.6.2.具有相关性
环球热议:读编程与类型系统笔记05_函数类型
天天资讯:关于 Serverless 应用架构对企业价值的一些思考
焦点热文:男子高速撞鸟 鸟腿成三叉戟立标 丰田秒变“玛莎拉蒂”
世界关注:解除屏蔽!微信已可正常跳转抖音链接
环球最资讯丨造车新势力第一 广汽埃安宣布将涨价:最高涨6000元
全球今亮点!称雷军是导师、大哥 何小鹏:但不想成为他 太累了
每日热文:郭明錤:iPhone 15 Pro将搭载“固态按键” 取消实体键
【播资讯】东北夫妻去三亚 为省8千机票开电车3600公里 充11次电 比油便宜
新资讯:9499元割韭菜!厂商喷RTX 4080太贵 惹怒NV后帖子删除:用户叫好
短讯!24岁湖北小伙搭17个顺风车到格鲁吉亚求婚引羡慕:女子同意 结婚不要彩礼
全球速递!美国航空局系统故障 致全美航班停飞:已有8609架次延误 1251架次取消
每日快看:失灵事故再现?特斯拉刹车又出问题:八车连环相撞!这次不一样
【全球新视野】洛谷P1040. 加分二叉树
C#、TS和Dart对比2:变量和作用域
电脑故障影响数千架次航班!全美航班停飞限制取消
灵动岛只是过渡品!iPhone 16或配备屏下Face ID
当前要闻:小米将参加MWC2013:不会发布小米13 Ultra
弄疯了无数人的游戏:差点让我砸掉显示器!
焦点消息!登录、投屏处处受限!视频平台被指吃相难看 你还开会员吗?
网址导航
全球看点:P2448 无尽的生命
[概率论与数理统计]笔记:3.3 随机向量的函数的分布与数学期望
世界新资讯:React核心概念与JSX
热消息:伊利回应30支冰糕分30箱发货 被网友吐槽太浪费:订单推送失误造成
全球热点!网友拿到了一加11:真的跟老板说的一样巨流畅
mac下php环境搭建
天天快讯:MQ——如何保证消息不会丢失
144MB缓存游戏神U!AMD锐龙7000X3D定档:情人节大礼
【当前热闻】美国所有航班都已停飞 电脑系统竟突发故障:官方给出恢复时间
速看:偶数位(熟悉二进制)
当前信息:Mysql页分裂
焦点关注:日系首款电动B级轿车!本田雅阁插混版来了:可挂绿牌
广州一宝马SUV冲撞人群 官方通报:已致5死13伤 司机被控制
环球即时:太阳4天内发出两次X级耀斑:几天后指向地球、或引强烈地磁暴
世界视点!02-Sed语法介绍
每日聚焦:真我GT Neo5标准版曝光:不到200g机身塞进5000mAh和骁龙8+
天天微头条丨I Do钻戒母公司被申请破产:被年轻人摒弃 太不保值 有人1.8万买只值180元
新款魏牌拿铁DHT-PHEV亮相惹争议 网友吐槽:不能我一个人瞎
CQOI2007,洛谷P4710涂色
头条焦点:小米最好高端口碑!雷军:MIX Fold 2研发成本很高 屏幕是天价定制
奢侈服装品牌Acne新春广告片被批 网友称其“阴间兔”
男童放鞭炮炸飞井盖连砸两车 科普:炮仗遇上下水道堪比小炸弹
【环球播资讯】男子吐槽APP看天气预报要点8个广告 网友:手机自带的不好吗?
世界快看点丨雅迪参展CES:汽车级快充亮相 20分钟充满80%电池
全球快看点丨链表栈队列递归哈希表有序表
Codeforces 1278 F Cards 增强版 题解 (斯特林数,推式子)
热点在线丨sortablejs 列表拖拽排序,js vue2,解决拖拽排序乱序问题
世界快资讯:用低代码这把“剑”之前,要先看定位,各取所需
当前短讯!开源动物行为分析实验箱(斯金纳箱)研发总结
三星Galaxy S24系列或取消Plus版本:销量太惨淡
【天天时快讯】大碗更尽兴!海福盛香辣牛肉面大促:每桶到手3块钱
今日视点:特斯拉2022年中国销量44万辆 还不敌比亚迪一个宋
《咬文嚼字》公布年度十大语文差错:连花清瘟?莲花清瘟?
世界观焦点:荣耀二代骁龙8新机来了!Magic 5系列入网:春节后发布
环球观速讯丨python之路 58 linux文件配置相关
学习笔记——MyBatis自动映射与自定义映射;Mybatis延迟加载
当前关注:C#、TS和Dart对比1:概述
即时焦点:SpringBoot Xss漏洞修复
软件开发入门教程网之Git 基本操作
热门:别克GL8危险!腾势D9累计订单超5万:50%用户来自BBA
3岁男童反复呕吐被确诊癌症晚期:被称为儿童癌症之王
当前速读:《咬文嚼字》公布2022年度十大语文差错:天和核心舱、莘莘学子上榜
努比亚Z50限定版明天首销:搭载最纯净的定制系统 无广告
环球观点:操作系统
环球播报:C++构造函数【cherno课程学习】
手机端H5 实现自定义拍照界面
今日热议:2022年我国人均存款近1.3万元 网友:又拖后腿了
【报资讯】一家四口在三亚溺水全部遇难:官方科普“离暗流”危险性
天天微动态丨2022收官!合资车时代被终结 “迪王”养成 大票车企失去肥年
【环球速看料】《小美人鱼》真人电影周边童书曝光 黑美人鱼好可爱
天天即时:双形态不入耳!讯飞开放式办公耳机iFLYBUDS Air图赏
小米MIX Fold 2厚度与戴壳iPhone 14 Pro Max相当 雷军:惊艳
当前通讯!3秒复制任何人的嗓音!微软音频版DALL·E细思极恐 连环境背景音也能模仿
每日热议!官宣:Intel发烧U回来了!350W 56核能打过AMD 280W 64核吗?
每日播报!人气爆棚!上美回应《中国奇谭》周边断货:已开足马力生产
Shell 命令奇淫技巧,就是有点短
当前头条:你买过哪些?苹果已售出23.2亿部手机 国人最爱iPhone 6
每日速递:美国加州风暴天气已致17死 有大树直接被连根拔起
环球速看:取消灵动岛!苹果iPhone 16 Pro将配备屏下Face ID
春运咋办?博主跑1千公里高速实测充电桩:有服务区一半都是坏的
【时快讯】《中国奇谭》口碑封神!仅上线三集 播放量突破5000万
【世界聚看点】CPU、显卡持续涨价!全球PC出货量暴跌 联想继续第一
简讯:(五)elasticsearch 源码之查询流程分析
环球热文:消息服务 + Serverless 函数计算如何助力企业降本提效?
世界滚动:el-table更新数据页面闪烁问题
全球今日报丨DJI这三个字母 是怎么占领你的背包的
环球热头条丨告别毛巾“一条恒久远”!金号纯棉抑菌毛巾大促:一条5块钱
今日快讯:哪吒汽车联手宁德时代共研“滑板底盘”:电池、底盘合体
世界信息:苹果加大降低中国工厂依赖程度:都要搬走?印度成香饽饽 出口激增
独占4K AMR 120帧高规格!《流浪地球2》发布CINITY海报
世界热点!指针知识点总结
每日热讯!TiDB 底层存储结构 LSM 树原理介绍
linux基础:2、前期必备知识、系统运行命令、快捷方式命令、目录结构相关命令、文件与文件夹相关命令、目录结构
环球今日报丨C# 循环给多个连续编号的控件赋值
网上银行怎么转账?网上银行转账限额是多少?
诺基亚5800xm当年多少钱?诺基亚5800XM手机参数
投影仪吊架怎么安装?吊式投影仪安装方法
华为gt2怎么设置相册表盘?华为gt2有血氧功能吗?
唐门鸟翔碧空在哪里学?唐门鸟翔碧空可以放什么技能?
雷龙鱼水温多少合适?雷龙吃什么饲料?