gpt4 book ai didi

syntax-error - 主模块中的多个语句

转载 作者:行者123 更新时间:2023-12-02 07:18:00 24 4
gpt4 key购买 nike

如何在 Elm 主模块中放置多行语句

例子,

module Main exposing (main)
import Html exposing (text)

main =
text "1"
text "2"

上面的不工作并给出这个错误

Detected errors in 1 module.
-- TOO MANY ARGS -------------------------------------------------- src/Main.elm

The `text` function expects 1 argument, but it got 3 instead.

5|> text "1"
6| text "2"

Are there any missing commas? Or missing parentheses?

放置括号和逗号没有帮助。

最佳答案

Elm 是一种基于表达式的语言。它没有语句,因为它没有副作用。相反,它由表达式组成,这些表达式返回与在编译时验证的类型关联的值。

你的代码在语法上是一个有效的表达式,所以我不确定你是如何得到这个特定错误的。我不能直接在不属于表达式的顶层重现它,也不能在表达式属于的函数中重现它,但我得到的是类型错误而不是语法错误。您遗漏了代码的一些重要部分。

在任何情况下,即使您将它正确地放入一个函数中,它也不会如您所愿。即使那样也有很多问题:

  1. 您的代码将被解释为应用于函数 text'1'text 的三个参数>'2',因为换行并不重要。

  2. '1' 是字 rune 字,不是字符串文字。 "1" 是一个字符串文字。

  3. 无论您要将其用于什么,它很可能需要单个元素,而不是元素列表。

将两个元素作为一个元素返回的正确方法是将这两个元素包装在父元素中,例如“span”:

module Main exposing (main)

import Html exposing (text, span)

main =
span []
[ text "1"
, text "2"
]

最后,我建议你从关注the official Elm guide开始学习。 . Elm 非常不同,基于 JavaScript 中倾向于工作的方法的试错方法可能只会导致挫败感。

关于syntax-error - 主模块中的多个语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55809494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com