【发布时间】:2016-04-15 08:56:10
【问题描述】:
这个问题很简单,但我想不出一个好的解决方案。
假设我有一个流。流只能发送 4 个事件:A、B、C、D
可以表示为:
[--A--A----C---B--D--...]
现在考虑,每个事件都有其编码值。 例如:
A -> 1, 0, 0, 0
B -> 0, 1, 0, 0
...
现在,问题是:如何使用 A、B、C、D 事件的编码值转换此流,使每个事件改为 4 个事件。
为了让一切清楚,这就是我想要的:
我拥有的信息流:
[--A--A----C---B--D--...]
我知道:
A -> 1, 0, 0, 0
B -> 0, 1, 0, 0
...
我要制作的流:
[--1-0-0-0--1-0-0-0----0-0-1-0---0-1-0-0--0-0-0-1--...]
我能想出的一个解决方案是映射流,为每个事件返回子流,然后展平结果。但我不确定它应该如何按照 FRP 来实施。
如果我应该使用流组合,请提供相关示例。 我个人使用 Reactive-Cocoa,但您可以使用任何其他语言回答,没关系。
【问题讨论】:
标签: stream functional-programming reactive-cocoa frp