Elm - 迴圈



Elm 是一種函數語言程式設計語言。Elm 使用遞迴的概念來替代傳統的迴圈構造。

本章探討遞迴的概念。

遞迴

一些計算機程式語言允許模組或函式呼叫自身。這種技術稱為遞迴。

說明

在這個程式中,我們將看到如何使用遞迴來顯示五次 hello。

步驟 1 − 建立檔案 Loop.elm

建立一個模組 Loop 並定義函式 sayHello。函式 sayHello 將一個整數作為輸入值,然後返回一個字串值。

module Loop exposing(..)
//function signature
sayHello:Int ->String
//function implementation
sayHello n =
   case n of
   1 -> "Hello:1 "
   _ -> "Hello:" ++ toString (n) ++ " " ++ sayHello(n-1)

函式 sayHello 檢查傳遞的引數是否為 1。如果引數為 1,則函式將返回,否則將建立一個字串 Hello 並呼叫相同函式。

步驟 2 − 從 REPL 呼叫 sayHello

從當前專案資料夾(Loop.elm 檔案的位置)開啟 elm REPL。

//import the module Loop
> import Loop exposing(..)
//invoke the sayHello function with parameter value as 5
> sayHello 5
"Hello:5 Hello:4 Hello:3 Hello:2 Hello:1 Hello:0 " : String
>
module Loop

說明

下面的示例使用遞迴列印 n 個數字的和。

> sumOfNos n =\
| if n==0 then 0 \
| else (n) + sumOfNos (n-1)
<function> : number -> number1

在 elm REPL 中,我們建立了一個函式 sumOfNos,它將一個輸入數字作為輸入值,並將從 0 到該數字的所有數字求和。

例如,如果我們輸入 5,它將對 1+2+3+4+5 求和,結果為 15

> ssumOfNos 5
15 : number

程式的輸出如上所示。

廣告
© . All rights reserved.