问题标签 [frp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
242 浏览

haskell - 如何使行为包含反应香蕉中的其他行为

似乎每个人都在用响应式香蕉 FRP 框架做电脑游戏,所以我也不得不尝试一下。然而,我坚持早期的步骤,试图将游戏数据描述为反应香蕉Behavior类型。

基本上,我试图拥有一个(不断变化的)游戏角色列表(例如佛罗多或山姆)。游戏角色可能会在每个游戏刻更新(建模为刻事件)。这个想法是,每当游戏角色发生变化时,Event (Character)都会触发一个单一的,并且最终通过网络发送角色更新。与Asteroids.hs示例相比,这样做的好处应该是整个游戏状态(整个游戏角色列表)不需要通过网络发送,因为会有许多事件具有单个游戏角色而不是带有游戏角色列表的单个事件。

对于单个游戏角色,这很好用!我创建了Behavior (Character)with mapaccum,以便在更新字符时发送字符更新信号。我无法解决的问题是如何使用Behavior游戏角色列表进行这项工作。

我正在尝试将游戏角色列表建模为Behavior,因为角色可能在游戏中来来去去。我需要在这里使用动态事件切换吗?或者,如果我不Behavior与单个游戏角色一起使用(并且仅Behavior与游戏角色列表一起使用),是否有办法在我浏览角色列表时有条件地触发更新事件?还是我不明白这里的东西?

0 投票
1 回答
102 浏览

haskell - 功能香蕉旅行者 - 输入处理:这会做我想要的吗?

我想为我的游戏管理输入的方式是轮询 TChan,然后在 eTick 发生时创建一个事件。但我尝试的方式会奏效吗?

data UAC = UAC (AID,PlayerCommand) deriving Show

来自fromPoll “输入,通过频繁轮询可变数据(例如当前时间)来获取行为。每当事件网络处理输入事件时,都会更新生成的行为”的文档。

我是否正确理解这一点?Tchan 是从其他代码中填充的,然后eTick我每次清空它并得到另一个Event t [UAC]

也许我的理解是错误的,或者这种计算对于 fromPoll 来说太昂贵了。在这种情况下,更好的方向是什么?

0 投票
2 回答
183 浏览

haskell - 如何使用 IO 函数转换事件?

假设我有

我想创建

它由 触发e1,其值是通过在事件发生时f对 的值执行来确定的。e1

我看到了两种可能的方法来做到这一点,通过动态事件切换和使用处理程序,但对于这么简单的事情来说,它们看起来都太复杂了。

这样做的正确方法是什么?

0 投票
1 回答
211 浏览

haskell - 功能性香蕉旅行者 - 我的滴答事件有什么问题?

我正在尝试实现一个滴答事件,并在下面进行了一个小测试,证明它不起作用。我很欣赏关于为什么它不起作用的洞察力。

这是一些测试数据。

当我执行上述操作时,Main我得到了这个输出。

该文件Commands.txt永远不会存在。我将此问题归因于错误的滴答事件。

我从中得到了定时器实现的想法但想知道我是否以错误的方式思考这个问题。有任何想法吗?

编辑:我想要一些保证fromPoll是做正确的事。我添加了上面的测试,它是。

0 投票
3 回答
346 浏览

javascript - 在调用之前按顺序完成所有函数参数

我试图了解如何使以下 zip 函数(尤其是调用函数)更具功能性。我遇到的问题是调用方法必须等待左侧和右侧都被填充,然后才能分派值。必须按顺序调用这些值,以便压缩正确的值,否则我会考虑使用 curry/partial 函数来实现这一点。

有什么我可以使用的东西可以消除这种障碍。

Bellow 是满足 zip 功能的简单示例。

奖励:删除可变数组。

0 投票
1 回答
693 浏览

racket - 球拍“宇宙”教学包是 FRP 的一个例子吗?

2htdp/universe教学包是功能响应式编程的好(或坏,或不是)示例吗?

它似乎符合这个概念(世界的新状态建立在每个滴答/输入上),但我从未见过与之相关的 FRP 标签。

0 投票
1 回答
446 浏览

haskell - 如何实现递归依赖自身的反应香蕉行为?

我有一个行为,我想根据事件的发生和行为的当前值更改其值。在下面的示例中,我有两个计数器,它们根据布尔行为是 True 还是 False 进行更新。因为它是这个代码崩溃<<loop>>异常,但我不确定如何重组它以工作或如何解决这个问题。

0 投票
2 回答
10670 浏览

angularjs - Is AngularJS Functional Reactive Programming?

Every time I see the phrase Functional Reactive Programming I realize that I don't understand what it is. I then go back to this question, think I understand what it is, and the cycle repeats later.

Example isn't another way to teach, it is the only way to teach -Albert Einstein

Is Angular an example/implementation of FRP? Why or why not?

0 投票
2 回答
387 浏览

javascript - 使用 FRP 和 Bacon.js 优雅地处理双击和单击

我试图找到最优雅的方式来区分 Bacon.js 中的单击和双击,但我觉得我并没有完全掌握它是如何工作的。以下适用于检测双击,但对于如何优雅地为单击事件指定不同的行为(即不同的回调函数),我有点难过。

0 投票
1 回答
611 浏览

ios - 如何在信号链中发送错误

我有一个包含整数值的信号 A。-1 值表示无效结果,所以我想发送错误,而不是将 -1 作为值传递。这样订阅 B 的任何东西都将通过 subscribeNext: 接收有效整数,并通过 subscribeError: 接收错误。

我想我知道如何用 RACSubject 做到这一点:

我想知道是否有一种更“内联”的方式来做到这一点: