📅  最后修改于: 2020-11-04 08:56:29             🧑  作者: Mango
本章讨论如何用elm编写一个简单的程序。
步骤1-在VSCode中创建目录HelloApp
现在,在此目录中创建文件-Hello.elm 。
上图显示了项目文件夹HelloApp和在VSCode中打开的终端。
步骤2-安装必要的Elm软件包
elm中的软件包管理器是elm-package 。安装elm-lang / html软件包。该软件包将帮助我们在浏览器中显示Elm代码的输出。
右键单击VSCode的“文件”→“在命令提示符中打开”,遍历到HelloApp项目文件夹。
在终端窗口中执行以下命令-
C:\Users\dell\Elm\HelloApp> elm-package install elm-lang/html
在安装软件包时,以下文件/文件夹将添加到项目目录中。
成功安装软件包后,将出现以下消息。
第3步-将以下代码添加到Hello.elm文件
-- importing Html module and the function text
import Html exposing (text)
-- create main method
main =
-- invoke text function
text "Hello Elm from TutorialsPoint"
上面的程序将在浏览器中显示来自TutorialsPoint的字符串消息Hello Elm 。
为此,我们需要在Html模块中导入函数文本。文本函数用于在浏览器中打印任何字符串值。主要方法是程序的入口点。 main方法调用文本函数并将字符串值传递给它。
步骤4-编译项目
在VSCode终端窗口中执行以下命令。
elm make Hello.elm
上面命令的输出如下所示-
//update path to the proj folder in the command elm make
C:\Users\dell\elm\HelloApp>elm make Hello.elm
Success! Compiled 38 modules.
Successfully generated index.html
上面的命令将生成一个index.html文件。 elm编译器将.elm文件转换为JavaScript并将其嵌入到index.html文件中。
第5步-在浏览器中打开index.html
在任何浏览器中打开index.html文件。输出将如下所示-
注释是一种提高程序可读性的方法。注释可用于包含有关程序的其他信息,例如代码作者,有关函数构造的提示等。编译器将忽略注释。
Elm支持以下类型的评论-
-- this is single line comment
{- This is a
Multi-line comment
-}
Elm不提供大括号来指示用于函数定义或流控制的代码块。代码块由行缩进表示,行缩进严格执行。块中的所有语句必须缩进相同的数量。例如-
module ModuleIf exposing (..)
x = 0
function1 =
if x > 5 then
"x is greater"
else
"x is small"
但是,以下块会产生错误-
-- Create file ModuleIf.elm
module ModuleIf exposing (..)
x = 0
function1 =
if x > 5 then
"x is greater"
else --Error:else indentation not at same level of if statement
"x is small"
因此,在榆木中,以相同数量的空格缩进的所有连续线将形成一个块。
C:\Users\admin>elm repl
---- elm-repl 0.18.0 -----------------------------------------------------------
:help for help, :exit to exit, more at
---------------------------------------
-----------------------------------------
> import ModuleIf exposing(..) -- importing module from ModuleIf.elm file
>function1 -- executing function from module
-- SYNTAX PROBLEM ---------------------------------------------------
I need whitespace, but got stuck on what looks like a new declaration.
You are either missing some stuff in the declaration above or just need to add some spaces here:
7| else
^
I am looking for one of the following things:
whitespace