使用庫函式獲取整數前驅的Haskell程式


在Haskell中,我們可以使用像pred、減法和fromMaybe這樣的庫函式來獲取整數的前驅。在第一個示例中,我們將使用(pred number)函式,在第二個示例中,我們將使用減法,而在第三個示例中,我們將使用(fromMaybe 0 (predMaybe x))函式。

演算法

  • 步驟1 - 程式執行將從main函式開始。main()函式控制整個程式。它被寫成main = do。它呼叫pred函式並傳入值,並將它的前驅列印到控制檯。

  • 步驟2 - 變數名為“number”。它將儲存要計算其前驅的值。

  • 步驟3 - 呼叫函式後,使用‘putStrLn’語句將結果前驅值列印到控制檯。

示例1

在這個例子中,我們將看到如何獲取整數的前驅值。這可以透過使用pred函式來實現。

main :: IO ()
main = do
   let number = 5
   let predecessor = pred number
   putStrLn (show predecessor)

輸出

4

示例2

在這個例子中,我們將看到如何獲取整數的前驅值。這可以透過從給定數字中減去一個單位數來實現。

main :: IO ()
main = do
   let x = 5
   print (x - 1)

輸出

4

示例3

在這個例子中,我們將看到如何獲取整數的前驅值。這可以透過使用模式匹配來實現。

pred' :: Int -> Int
pred' 0 = error "Cannot find predecessor of 0"
pred' x = x - 1

main :: IO ()
main = do
   let x = 5
   print (pred' x)

輸出

4

示例4

在這個例子中,我們將看到如何獲取整數的前驅值。這可以透過使用fromMaybe函式來實現。

import Data.Maybe

main :: IO ()
main = do
   let x = 5
   print (fromMaybe 0 (predMaybe x))

predMaybe :: Int -> Maybe Int
predMaybe x = if x > 0 then Just (x - 1) else Nothing

輸出

4

結論

在Haskell中,有多種方法可以找到給定數字的前驅。一些常見的方法包括使用內建庫函式(如Prelude庫中的pred),從數字中減去1,使用mod函式,或者編寫一個使用模式匹配或條件語句來查詢前驅的自定義函式。

更新於: 2023年3月13日

150 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告