我不断收到空白编译错误,我无法发现错误。 这是错误
我需要空白,但却被卡在看似新的宣言上。 你要么在上面的声明中缺少一些东西,要么只是 需要在这里添加一些空格:
41 |查看:模型 - > Html - >消息 ^我正在寻找以下其中一项:
whitespace
这是代码
view : Model -> Html -> Msg
view model =
div [] [
h2 [] [text ("Counter: " ++ (toString model))]
, button [type_ "button", onClick Add ] [text "add"]
, button [type_ "button", onClick Sub ] [text "subtract"]
, button [type_ "button", onClick Reset ] [text "reset"]
]
我必须遗漏一些非常简单的东西,但我无法发现它。
答案 0 :(得分:1)
函数调用后需要一些空格。喜欢
x =
0
不会编译,但
x =
0
会编译,所以说。你需要像这样缩进div []
view : Model -> Html -> Msg
view model =
div []
[ h2 [] [ text ("Counter: " ++ (toString model)) ]
, button [ type_ "button", onClick Add ] [ text "add" ]
, button [ type_ "button", onClick Sub ] [ text "subtract" ]
, button [ type_ "button", onClick Reset ] [ text "reset" ]
]
此外,视图的类型注释已关闭,目前您已
view : Model -> Html -> Msg
但它应该是
view : Model -> Html Msg
只是在学习时提示,您可以省略类型别名
--view : Model -> Html Msg
view model =
非常好,您可以在以后更熟悉语言时添加注释,这是我学习的方式。
请参阅here以获取工作版本的链接。
答案 1 :(得分:0)
您的类型定义有点错误。以下:
view : Model -> Html -> Msg
应该是:
view : Model -> Html Msg
Html Msg
是单个类型。相应的类型定义为type alias Html msg
。 msg
以小写开头,表示此类型是通用类型。这意味着可以在此处放置任何类型。例如,我们可以写Html Int
或Html String
。例如,由于查看代码会在单击按钮时返回消息,因此我们将此消息类型用作通用类型。结果为Html Msg
。