问题标签 [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.
markdown - 如何在 Elm 中使用 Markdown:是不是 [markdown| 或[降价|?
这是我的代码片段:http ://www.share-elm.com/sprout/53d242e2e4b07afa6f9834a2受 elm-lang.org 的示例启发。
我熟悉 markdown 本身,例如Daring Fireball或StackOverflow本身。但是,我有几个关于如何在 Elm 中使用 Markdown 的问题。我找不到 Elm 的文档
- 是什么
[markdown|
意思?为什么[markdown |
- 注意空间 - 不可接受? - 为什么不
#Hello World
显得大?它应该看起来像这样大
你好世界
这是一个更正的例子,但我不知道我做对了什么。
使用字符串似乎也是错误的,如[markdown| "# Hello World" |]
. 为什么这是错误的?
我认为提醒 Elm 我的句子是一个字符串会更安全,但似乎我不必这样做。而且不应该。
random - Elm - 生成随时间变化的随机数列表
我正在尝试使一列随机数每秒更改一次,但我收到不同的错误消息:
给出解析错误。我的方括号有什么问题[
?
缩进也许?
一旦我缩进,这个例子就会编译,但我只是得到<signal>
而不是实际数字
lift
信号?
最后,当我尝试使用lift
它时,它给了我其他的困惑
错误消息是我的lift
.
不flow down
只是一个清单
如果我忘记流下来它仍然不合作:
我收到一条_List
预期的错误消息:
?
我使用Random.range
正确吗?我没有从原来的例子中改变它:
我如何让它与lift
and合作flow down
?
html - HTML 布局:在 Elm web apge 中混合 [Element] 和 [Signal Element]
我正在阅读flow down
并假设让我们在我们的网站上垂直堆叠元素。当您的网站的某些部分是信号时,您应该怎么做?我会画一个这样的网站:
- 介绍
- 动态组件
- 更多静态文本
所以flow down: [Element] -> Element
我不能随心所欲地混合[signal Element]
。在以前的解决方案中,我看到了涉及lift
的解决方案,这就是我想出的:
在这里,我只是将数字 5 堆叠在一个随机变化的数字之上。也许这取决于窗口大小,
这被认为是好的做法还是有更好的方法在 Elm 中进行布局?
functional-programming - 'foldp' 是否违反了 FP 的不可变状态原则?
我正在七周内从七种语言中学习榆树。以下示例使我感到困惑:
foldp
定义为:
在我看来:
- 累加器的初始值
presses
仅0
在第一次评估时main
- 在第一次评估之后,
main
它的初始值似乎presses
是 function 的结果(a -> b -> b)
,或者(\dir presses -> presses + dir.x)
在示例中,是上一次评估的结果。
如果确实如此,那么这是否违反了函数式编程原则,因为 main 现在维护内部状态(或至少foldp
如此)?
foldp
当我在代码中的多个位置使用时,这是如何工作的?它是否保持多个内部状态,每次我使用它时一个?
我看到的唯一另一种选择是foldp
(在示例中)从 0 开始计数,也就是说,每次评估它时,都会以某种方式折叠Keyboard.arrows
. 在我看来,这似乎是非常浪费的,并且肯定会导致长时间运行时出现内存不足的异常。
我在这里错过了什么吗?
map - 使用 map 在一个点评估多个函数
我可以使用 Elm 的share-elm.com 拍出漂亮的照片,任何代码优化技巧都将不胜感激,但我专注于最后两行:
我不知道这是否是定义矢量加法或 2D 转换的最佳方式,但我需要以某种方式做到这一点。通常在图形本身上使用矢量图形,我在它们成为Path
类型之前处理点列表。
这是迭代旋转函数的最佳方法rot
吗?我需要先向左再向右旋转 90 度。所以我向左旋转了 3 次:
关于主要问题,我的最后两行是否可以简化:
数字列表将成为我的Path
对象,并t1
通过t4
函数。我想也许我可以用map
. 它适用于我在 Github gist 上尝试过的情况:https ://gist.github.com/MonsieurCactus/ef285584f1588289b477 这是我尝试过的:
Elm 编译器返回错误消息:
也许我应该尝试编写一个函数[Path] -> [Path]
,但是我必须获取点列表并无论如何都要更改它们。
list - 榆树排序和[可比]
对 Elm 进行排序时使用什么排序算法List
?
什么是[comparable]
类型以及如何取回number
?
这可能是了解List
Elm 如何实现的好时机,但我现在不想问任何太深的问题。只需启动并运行它。
polymorphism - 在 Elm 中处理具有共享子结构的记录
我有一些基本上像这样结构的记录类型:
现在我想要一个混合列表中的任何一个,并在Body
零件上执行一些操作,但仍然是特殊情况处理Box
和Bubble
其他时间。例如,具有(省略了实现):
我想
但这失败了,因为 Elm 认为列表中的类型不兼容。
Box
现在我可以像这样将es 和s包装Bubble
在 ADT 中:
但随后我需要在每种情况下都进行解包和重新包装。如果我想折叠混合列表,它会变得更加混乱。这个 gist中有一个例子。
有没有更优雅的方式来处理这种情况?
list - elm 列表推导,检索列表的第 n 个元素
当我注意到Elm不支持列表推导时,我试图在 Elm 中模拟魔方。在 Haskell 甚至 Python 中,我会写如下内容:
我在榆树找不到路。我必须编写的实际列表理解是(在 Haskell 中):
fromIntegral :: (Integral a, Num b) => a -> b
变成. _ Integer
_Num
在 Elm 中,我尝试使用数组:
我开始在Maybe
类型方面遇到困难:
事实上,我必须查一下它们是什么。我没有解决可能的问题,而是对列表做了一些事情:
我不知道这是否有效或正确,但它在我尝试的情况下有效。
我想我的两个主要问题是:
- Elm 支持列表推导吗?(我想只是使用
map
) - 如何绕过
maybe
数组示例中的类型? - 调用
head ( drop n x)
获取列表的第 n 个元素是否有效?
elm - 榆树中的文本区域
我正在尝试使用 elm表单演示作为我的应用程序的基础,但我一生都无法弄清楚如何制作文本区域而不是 1 行输入?我错过了什么
json - 从表单到 JSON
我有一个 HTML 表单,我想将其转换为 JSON 发送到服务器。似乎有一个简单的机制可以将表单的值转换为 JSON 字符串,这可能是库中可能存在的东西,那么是否有库可以做到这一点?