RACStream代表monad是什么意思?

 _雁火漫天_ 发布于 2023-01-19 10:23

来自doc RACStream代表一个"Monad"?有人可以解释这在RACStream的上下文中具体意味着什么.我查看了维基上的功能含义,但我很难看到它如何使Reactive-Cocoa受益以及为什么选择这种模式?

1 个回答
  • 在Objective-C的上下文中,RACStreammonad 的事实基本上意味着它遵循一种模式.在这种情况下,RACStream有一个-bind:方法,这是一个更常用的更"原始"的版本-flattenMap:,这些方法基本上是RACStream一个monad.

    (有关其使用的更多信息,请查看文档-flattenMap:.)

    给定一个B取值的块并返回一个RACStream(即将值映射到流的块),并给定一个流A,调用[A flattenMap:B]将产生一个"聚合"流,其中包含块返回的集合流集中的所有值B(为每个值调用A).(编辑:这个狭隘的解释没有描述结果流的值的时间,也没有描述错误传播.如果你对这些有疑问,我很乐意回答它们.)

    可以在ReactiveCocoa的Basic Operators文档中找到几个示例.

    至于好处,我认为流是monad的事实大多只对那些有monad经验的人有益.另一方面,文档中几乎没有提到monad,更重要的是,ReactiveCocoa根本不需要monad知识,所以不熟悉monad也没有缺点.

    2023-01-19 10:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有