使用库函数比较数字和字符串的 Haskell 程序


在 Haskell 中,我们将使用库函数(包括 compare、min 和 max 函数)以及 Eq 和 Ord 类型类来比较数字和字符串。在第一个示例中,我们将使用 (compare num1 num2 和 compare str1 str2) 函数,在第二个示例中,我们将使用 (max num1 num2 和 min str1 str2) 函数。在第三个示例中,我们将使用 (num1 == num2) 函数以及 (num1 /= num2) 类型类。

算法

  • 步骤 1 − 导入 Data.Ord 库,其中包含 compare 函数。

  • 步骤 2 − 程序执行将从 main 函数开始。main() 函数控制整个程序。它被写成 main = do。然后,main 函数定义了两个整数变量 num1 和 num2,以及两个字符串变量 str1 和 str2,并打印比较结果。

  • 步骤 3 − 初始化名为“num1”、“num2”、“str1”和“str2”的变量。它们将分别保存要比较的数字和字符串。

  • 步骤 4 − 调用 compare 函数后,使用 'print' 函数将比较结果打印到控制台。

示例 1

在此示例中,我们将了解如何使用 compare 函数比较数字和字符串。

import Data.Ord (compare)

main :: IO ()
main = do
      let num1 = 5
          num2 = 10
          str1 = "hello"
          str2 = "world"

      print (compare num1 num2) 
      print (compare str1 str2)

输出

LT
LT

示例 2

在此示例中,我们将了解如何使用 min 和 max 函数比较数字和字符串。

main :: IO ()
main = do
      let num1 = 5
          num2 = 10
          str1 = "hello"
          str2 = "world"

      print (max num1 num2)
      print (min str1 str2)

输出

10
"hello"

示例 3

在此示例中,我们将了解如何使用 Eq 和 Ord 类型类比较数字和字符串。

main :: IO ()
main = do
      let num1 = 5
          num2 = 10
          str1 = "hello"
          str2 = "world"

      print (num1 == num2)  
      print (num1 /= num2)
      print (str1 <= str2)  
      print (str1 >= str2)

输出

False
True
True
False

结论

在 Haskell 中,要比较数字和字符串,我们可以使用 compare、min 和 max 函数以及 Eq 和 Ord 类型类。

更新于: 2023年3月13日

1K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告