我刚开始学习榆树。在这个程序中,我想使用在某些输出中格式化的鼠标坐标和箭头键状态来更新屏幕。
我的计划是创建一个名为 Input 的记录,并通过函数输入将其设置为 Signals。然后 showGameInputs 将使用 Input 记录来获取值并将它们与一些文本组合以将元素返回给 main。
import Mouse
import Keyboard
-- Create a record named Input
type Input = { mouseX:Int, mouseY:Int, arrowUpdown:Int, arrowLeftRight:Int }
-- Combine Signals into Input type
input: Signal Input
input = Input <~ Mouse.x ~ Mouse.y ~ lift .y Keyboard.arrows ~ lift .x Keyboard.arrows
showGameInputs: Input -> Element
showGameInputs { mouseX, mouseY, arrowUpdown, arrowLeftRight } = plainText ("asdf" ++ show mouseX)
main: Signal Element
main = showGameInputs input
这是错误:
[1 of 1] 编译 Main ( Functions.elm ) 第 19 行第 23 到 28 列的类型错误:输入
预期类型:信号输入 实际类型:输入
Elm 和函数式编程非常新,所以我怀疑我在这里遗漏了一些基本的东西。
谢谢你的帮助。