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 >
說明
下面的示例使用遞迴列印 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
程式的輸出如上所示。
廣告