问题标签 [elm]

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 投票
4 回答
3272 浏览

random - 初始化榆树应用程序的正确方法是什么

ElmRandom模块的文档指出:

获得意外种子的一个好方法是使用当前时间。 http://package.elm-lang.org/packages/elm-lang/core/1.1.0/Random

但是,我看不到如何在 FRP 应用程序中执行此类初始化逻辑的好例子。我应该对什么信号做出反应?如何以最少的代码和最大的清晰度做到这一点。

0 投票
2 回答
5245 浏览

elm - 在 Elm 中强制将 Maybe a 转换为 a 的正确方法,对于 Nothings 显然失败了

好的,我真正想做的是,我有一个数组,我想从中选择一个随机元素。显而易见的事情是从随机数生成器中获取一个介于 0 和长度负 1 之间的整数,我已经在使用它,然后应用Array.get,但它返回一个Maybe a. (似乎还有一个包函数可以做同样的事情。)来自 Haskell,我得到了类型的重要性,它可以保护我免受索引超出范围的情况,但我可以控制索引并且不预计会发生这种情况,所以我只想假设我得到了Just一些东西并且有点强行转换为a. 在 Haskell 中,这将是fromJust,或者,如果我觉得冗长的话,fromMaybe (error "some message").我应该如何在 Elm 中做到这一点?

在邮件列表上发现了一个似乎正在讨论这个问题的讨论,但已经有一段时间了,我在标准库中没有看到我想要的功能,讨论表明它会是。

以下是我迄今为止发现的一些非常不令人满意的潜在解决方案:

  • 只需使用withDefault。我确实有一个a可用的默认值,但我不喜欢这样,因为它给我的代码带来了完全错误的含义,并且可能会使调试变得更加困难。
  • 对端口进行一些摆弄以与 Javascript 交互,如果没有,则在此处抛出异常。我还没有仔细研究它是如何工作的,但显然这是可能的。但这似乎只是混合了太多的依赖关系,否则就是简单的纯 Elm。
0 投票
1 回答
480 浏览

recursion - 榆树递归映射?

我正在尝试在 Elm 中编写一个生命克隆游戏,但在如何绘制更新板时遇到了一些困难。

我将板上的单元格表示为(List (List Int))一个名为的变量gameBoardList

我用这个功能来更新板子

我能够将其gameBoardList转换为一种形式并将其绘制为一个元素,甚至可以transformBoardList毫无问题地应用该功能。

我不明白的是如何让我的董事会不断更新。我已经检查了过去的依赖映射,但在我看来我需要某种递归映射,这样我就可以继续应用transformBoardList每次更新

有什么想法可以实现这一目标吗?

0 投票
1 回答
190 浏览

signals - Elm - 根据模型状态切换 fps (fpsWhen)

Time.fps榆树有没有办法(或者更确切地说,什么是正确的方法)根据应用程序的状态(存储在模型中)停止和启动功能?例如,在我正在处理的应用程序中,当按下暂停键时,模型的状态字段设置为暂停。我希望 fps 停止,直到它再次设置为播放。我最初的想法是使用Time.fpsWhen,但它会引发错误。我已经将这个示例放在一起,它在结构上与我的应用程序相似,以进行演示。

您可以在这里看到它“正在运行” 。

我的假设是它不起作用,因为modeltimeDelta递归地相互依赖,但我不确定。无论如何,当应用程序处于暂停状态时,我应该如何停止 fps?我必须将运行状态与模型分开存储吗?

谢谢!

0 投票
1 回答
268 浏览

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?

0 投票
1 回答
2793 浏览

css - 如何在不使用信号的情况下在 Elm 上添加 ":hover" 效果?

我想:hover使用 Elm 的 HTML 库向元素添加样式。我可以使用 Signals 和 Sets 来跟踪选定的节点,但这会使我的代码膨胀,因为一些琐碎的事情会出现不必要的状态。我可以通过添加外部样式表来做到这一点,但我仍然不知道如何使用 elm-reactor 来做到这一点。

那么,如何:hover使用 Elm 为元素添加样式?

0 投票
1 回答
93 浏览

elm - 为什么拼写错误的真/假不会在在线 Elm 编辑器(与 elm-repl 相对)中引发编译器错误?

下面的 Elm 程序应该在按下鼠标按钮时打印 10,如果没有按下鼠标按钮,则打印 20,但它总是打印 20(在http://elm-lang.org/try上运行它时):

这种行为的原因是一个简单的拼写错误——如果你trueTruefalse替换False,一切都按预期工作。

但是为什么我没有得到一个编译器错误呢?我本以为与我从 elm-repl 收到的错误消息类似:Could not find variable 'true'

更新 事实上(正如@Apanatshka 的答案所暗示的那样),此代码也适用于 REPL,因此 Elm 的行为始终如一。

0 投票
2 回答
635 浏览

haskell - Elm 的信号系统可以作为 Haskell 库使用吗?

对于我正在处理的任务,Elm 编程语言的信号系统似乎是一个合适的解决方案。

但是我的纯计算函数是在 Haskell 中实现的。是否有一个 Haskell 库可以让我构建一个信号图(在节点中使用我的纯函数),以便它像在 Elm 中一样工作?

我的背景

我需要根据需要观察大量计算的中间结果,即我不想实际格式化和输出每个中间结果,但是如果需要,那么我应该用最新的中间结果(从计算信号)。

实际上,有几个并行计算,其中一些使用其他的结果,所以我想要几个独立的输出信号来观察它们。所以我相信我可以编写一个 Elm 程序来对系统进行建模,以观察可用的中间结果。(也许,我错了,我应该尝试至少在 Elm 中编写一个原型,但我也在考虑与我的主要 Haskell 代码集成。)

0 投票
1 回答
398 浏览

parallel-processing - Elm 有并行性吗?

可以在 Elm 中编写并行代码吗?Elm 是纯函数式的,因此不需要锁定。当然,我可以使用 Javascript FFI,在这里派生工人并自己做。但是,我想要更多用户友好的“方式”来做到这一点。

0 投票
1 回答
691 浏览

frp - 使用 Elm 创建表单

我想在 Elm 中创建一个需要 4 个必需输入的表单:

  • 3 个浮点值
  • 1 个输入可以采用“长”或“短”的值(大概),这将是一个下拉菜单

输入值后,将进行计算,根据这些值产生单行输出。

我有这个作为命令行 Python 程序工作:

但想使用 Elm 为它创建一个 Web UI。