Haskell程式:從函式中返回字串
本文將學習如何使用使用者自定義函式以及記錄語法和let繫結從函式中返回字串。在第一個示例中,我們將使用(myFunction = "Hello, World!")函式;在第二個示例中,我們將使用(myFunction = stringValue myData);在第三個示例中,我們將使用let繫結,(myFunction = let str = "Using let binding!" in str)。
方法1:從使用者自定義函式返回字串
在此方法中,定義的使用者自定義函式包含函式定義,並在呼叫函式後返回字串。
演算法
步驟1 − 透過編寫其定義來定義使用者自定義函式,該定義將在計算後返回字串。
步驟2 − 程式執行將從主函式開始。main()函式控制整個程式。它寫成main = do。在主函式中,呼叫使用者自定義函式。
步驟3 − 呼叫函式後,將結果字串列印到控制檯。
示例1
在此示例中,myFunction是一個返回字串“Hello, World!”的函式。main函式呼叫myFunction並將結果列印到控制檯。
myFunction :: String myFunction = "Hello, World!" main = do let result = myFunction putStrLn result
輸出
Hello, World!
示例2
在此示例中,使用case表示式定義了Haskell函式myFunction。case表示式case str of str -> str匹配str的值並返回它。str的值在where子句中定義為"Hello, World!"。
myFunction :: String myFunction = case str of str -> str where str = "Hello, World!" main = do let result = myFunction putStrLn result
輸出
Hello, World!
方法2:使用記錄語法從使用者自定義函式返回字串
在此方法中,使用記錄語法定義的使用者自定義函式包含函式定義,並在呼叫函式後返回字串。
演算法
步驟1 − 使用記錄語法編寫其定義來定義使用者自定義函式,該定義將在計算後返回字串。
步驟2 − 程式執行將從主函式開始。main()函式控制整個程式。它寫成main = do。在主函式中,呼叫使用者自定義函式。
步驟3 − 呼叫函式後,將結果字串列印到控制檯。
示例
在此示例中,使用記錄資料型別MyData,它具有一個型別為String的stringValue欄位,該欄位儲存值"Hello, World!"。然後,myFunction使用模式匹配從MyData值myData中提取stringValue並返回它。
data MyData = MyData { stringValue :: String } myFunction :: String myFunction = stringValue myData where myData = MyData { stringValue = "Using Record Syntax!" } main = do let result = myFunction putStrLn result
輸出
Using Record Syntax!
方法3:使用let繫結從使用者自定義函式返回字串
在此方法中,使用let繫結定義的使用者自定義函式包含函式定義,並在呼叫函式後返回字串。
演算法
步驟1 − 使用let繫結編寫其定義來定義使用者自定義函式,該定義將在計算後返回字串。
步驟2 − 程式執行將從主函式開始。main()函式控制整個程式。它寫成main = do。在主函式中,呼叫使用者自定義函式。
步驟3 − 呼叫函式後,將結果字串列印到控制檯。
示例
在此示例中,使用let繫結定義了Haskell函式myFunction。let繫結str = "Using let binding!"定義了一個區域性變數str,其值為"Using let binding!"。然後,myFunction返回str的值。
myFunction :: String myFunction = let str = "Using let binding!" in str main = do let result = myFunction putStrLn result
輸出
Using let binding!
結論
在Haskell中,字串是字元序列,表示為字元列表。可以使用雙引號(")定義字串。
使用者自定義函式是由程式設計師建立的用於執行特定操作的函式。使用者可以根據需要定義函式,透過傳遞任何所需的實參並在函式定義中返回值。傳遞的實參可以是整數、字串或任何值的陣列,並返回相應的字串結果並列印到控制檯。