如何在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?
括号和逗号没有用。
榆树是一种基于表达的语言。它没有语句,因为它没有副作用。相反,它由表达式组成,这些表达式返回与在编译时验证的类型相关联的值。
您的代码在语法上是一个有效的表达式,所以我不确定您是如何得到该特定错误的。我不能直接在顶层,表达式不属于它,或者在表达式属于的函数中重现它,但我得到一个类型错误而不是语法错误。你遗漏了代码的一些重要部分。
在任何情况下,即使你把它正确地放入一个函数中,这也不会做你想要的。即便如此,还有很多问题:
text
,'1'
,text
和'2'
的三个参数,因为换行符并不重要。'1'
是一个字符文字,而不是字符串文字。 "1"
是一个字符串文字。将两个元素作为一个返回的正确方法是将两个元素包装在父元素中,例如'span':
module Main exposing (main)
import Html exposing (text, span)
main =
span []
[ text "1"
, text "2"
]
最后,我建议您按照the official Elm guide开始学习。榆树的不同之处在于基于JavaScript中可能起作用的试错方法可能只会导致挫败感。