Haskell程式:建立帶引數和返回值的函式
在本文中,我們將瞭解如何使用使用者自定義函式在 Haskell 中建立一個帶引數和返回值的函式。使用者自定義函式的定義包含函式定義以及某個返回值,並透過傳遞所需的引數來呼叫。這些函式根據定義執行各種操作。
在所有示例中,我們將定義使用者自定義函式來執行某些任務,這些任務將返回某個值,並傳遞一些引數,例如 add、mult、maxOfTwo 和其他函式。
演算法
步驟 1 - 透過編寫其帶有返回值的定義來定義使用者自定義函式。
步驟 2 - 程式執行將從主函式開始。main() 函式控制整個程式。它寫成 main = do。在主函式中,透過向其傳遞所需的引數來呼叫使用者自定義函式。
步驟 3 - 呼叫函式後,結果將列印到控制檯。
示例 1
在這個示例中,add 函式接受兩個 Int 引數 a 和 b,並返回它們的和作為輸出。主函式演示瞭如何使用 add 函式,透過傳遞 x 和 y 作為引數並列印結果。add 函式的返回型別為 Int。
add :: Int -> Int -> Int add a b = a + b main :: IO () main = do putStrLn "Sum of two numbers:" let x = 5 let y = 10 let total = add x y putStrLn (show x ++ " plus " ++ show y ++ " is " ++ show total)
輸出
Sum of two numbers: 5 plus 10 is 15
示例 2
在這個示例中,mult 函式接受兩個 Int 引數 a 和 b,並返回它們的乘積作為輸出。主函式演示瞭如何使用 mult 函式,透過傳遞 x 和 y 作為引數並列印結果。mult 函式的返回型別為 Int。
mult :: Int -> Int -> Int mult a b = a * b main :: IO () main = do putStrLn "Product of two numbers:" let x = 5 let y = 10 let product = mult x y putStrLn (show x ++ " times " ++ show y ++ " is " ++ show product)
輸出
Product of two numbers: 5 times 10 is 50
示例 3
在這個示例中,maxOfTwo 函式接受兩個 Int 引數 a 和 b,並返回它們中的最大值作為輸出。主函式演示瞭如何使用 maxOfTwo 函式,透過傳遞 x 和 y 作為引數並列印結果。maxOfTwo 函式的返回型別為 Int。
maxOfTwo :: Int -> Int -> Int maxOfTwo a b = max a b main :: IO () main = do putStrLn "Maximum of two numbers:" let x = 5 let y = 10 let maximum = maxOfTwo x y putStrLn (show x ++ " and " ++ show y ++ " has a maximum of " ++ show maximum)
輸出
Maximum of two numbers: 5 and 10 has a maximum of 10
示例 4
在這個示例中,longestString 函式接受字串列表作為引數,並返回最長字串的長度作為輸出。主函式演示瞭如何使用 longestString 函式,透過傳遞字串列表作為引數並列印結果。longestString 函式的返回型別為 Int。
longestString :: [String] -> Int longestString xs = maximum (map length xs) main :: IO () main = do putStrLn "Length of the longest string in a list:" let xs = ["hello", "world", "this", "is", "Haskell"] let longest = longestString xs putStrLn (show xs ++ " has a longest string with a length of " ++ show longest)
輸出
Length of the longest string in a list: ["hello","world","this","is","Haskell"] has a longest string with a length of 7
示例 5
在這個示例中,sumEven 函式接受整數列表作為引數,並返回偶數整數之和作為輸出。主函式演示瞭如何使用 sumEven 函式,透過傳遞整數列表作為引數並列印結果。sumEven 函式的返回型別為 Int。
sumEven :: [Int] -> Int sumEven xs = sum (filter even xs) main :: IO () main = do putStrLn "Sum of all even numbers in a list:" let xs = [1, 2, 3, 4, 5] let evenSum = sumEven xs putStrLn (show xs ++ " has a sum of even numbers of " ++ show evenSum)
輸出
Sum of all even numbers in a list: [1,2,3,4,5] has a sum of even numbers of 6
結論
在 Haskell 中,使用者自定義函式是由程式設計師建立的用於執行特定操作的函式。使用者可以根據需要定義函式,透過傳遞任何所需的引數並在函式定義中返回某個值。Haskell 中帶有某些引數和返回值的使用者自定義函式是一個函式,它接受一些輸入,並將其對應的輸出作為值返回。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP