问题标签 [elm-signal]
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.
elm - 如何将点击信号传播到 Elm 中的模型更新?
我正在用 Elm 编写一个游戏,在这个游戏中,有一个按钮,按下时应该将游戏板重置为其初始状态。但是,我不明白如何将按钮单击信号传播到板模型的更新功能。在下面的代码中,我刚刚将单位值传递给stepBoard
但我不能用它做太多所以我该如何解决它?
elm - Elm - 如何根据另一个信号修改一个信号的参数化
如何根据另一个信号参数化一个信号?例如,假设我想根据鼠标的 x 位置修改 fps。类型有:
我怎样才能让 Elm 理解这个伪代码的内容:
显然,lift
在这种情况下不起作用。我认为结果会是Signal (Signal Time)
(但我对 Elm 还是很陌生)。
谢谢!
elm - Keyboard keyup signal missing
I need Keyboard keyup signal. But the STD library has only keydown which causes "freezes" in my program thanks to very fast changing game state (pause and play). How to solve it?
elm - 从信号中提取数据
我有这样的信号:signal1 = Signal.constant {a=4, b=3, l = []}
如何从信号中提取数据?
我试过Signal.map (\x -> x) signal1
但Signal.map
返回另一个信号。
elm - 从列表创建信号
是否可以Signal
从 a 创建 a List
?基本上我想要的是带有签名的东西List a -> Signal a
。我知道 aSignal
代表一个随时间变化的值,所以这样的事情实际上没有任何意义(即我想不出在生产代码中使用它的理由)。
我可以看到它的应用程序进行测试。例如,假设某个函数依赖于 a 的过去值Signal
(例如 via foldp
),并且您想在信号已接收到值 x、y 和 z 的情况下对系统状态进行断言。
Signal
请注意,表示它只会接收固定数量的值不必有什么特别之处。我认为它更像是:在生产中,您有一次Signal
鼠标点击,并且您想从给定的起始位置测试它,在给定的一组点击之后,系统应该处于其他一些已知状态。我知道你可以通过调用函数固定次数并用新值反馈结果来模拟这一点,我只是想知道这是否可能。
elm - 如何在 Elm 中 Debug.log 一个信号?
我正在尝试在我的程序中引入一个新信号,其主要功能如下所示:
(更多上下文在这里)
为了设计我的新信号,我想从这个开始:
我可以得到这个信号:
但是,我不确定如何将此信号集成到我的程序中,以便在每次单击时打印一条调试消息。
Debug.log
在现有 Elm 程序中获取新信号的最简单方法是什么?
elm - 如何对信号进行采样并将采样值保留在 Elm 中?
考虑一个模型:
以及以下两个信号:
和:
我想得到以下内容desiredSignal
:
即我想 sampleOn clickPosition
,但保留采样值。
我怎么能那样做?
elm - 如何在 Elm 中获取 Signal 的当前值?
有没有办法获得给定信号的当前值?或者,这是我在编写惯用 Elm 时不应该做的事情吗?
elm - 无法读取未定义的属性“孩子” - 或如何打破 Elm 中信号的循环依赖?
成功后,我在elm-make
浏览器中收到以下错误:
无法读取未定义的属性“孩子”
我认为这是因为我对信号有循环依赖:
以下是相关代码:
感觉就像model
是在 Elm 中实现的一种常见做法,所以我应该挑战clicks -> model
依赖。
这是一些上下文:
我正在使用画布构建一个滑动益智游戏:
当用户单击可以移动的图块时,它应该会移动。否则,点击应该被忽略。
clicks
将产生以下动作:Left
, Right
, Up
,Down
例如,如果用户点击图块 12、11、8、15(按此顺序),clicks
则应为:Down -> Right -> Up
问题是,为了计算点击了哪个图块,我需要知道板的尺寸(例如上图中的 4 行和 4 列)。但是,板尺寸存储在model
(想象允许用户更改板尺寸的用户界面)中。
如何摆脱这种循环依赖?
elm - 在某些情况下,信号 (Int, Int) 未被识别为 (Int, Int) 元组
根据返回类型,Signal (Int, Int) 不会被识别为 (Int, Int) 的元组。
考虑以下代码:
Signal.map relativeMouse Mouse.position
工作得很好,向浏览器显示 (-1000, -1000) 并根据鼠标移动调整值。
relativeMouseTuple Mouse.position
这虽然不起作用。我得到的并发症错误如下:
我觉得这很奇怪。在这两种情况下,第一个参数都是 Signal (Int, Int),在第二种情况下,它会导致类型错误。
有任何想法吗?