📜  haskell 函数 - Haskell (1)

📅  最后修改于: 2023-12-03 15:15:28.540000             🧑  作者: Mango

Haskell 函数 - Haskell
简介

Haskell 是一种函数式编程语言,其核心概念是函数。Haskell 函数使用一种纯函数的方式进行计算,即对于相同的输入,函数总是返回相同的输出,不产生任何副作用。这种纯粹性质使得 Haskell 函数易于理解、测试和使用。

函数定义

add 函数为例,它接受两个整数作为输入并返回它们的和:

add :: Int -> Int -> Int
add x y = x + y

在上面的例子中,add 函数的类型签名表示输入两个 Int 类型的参数,并返回一个 Int 类型的结果。函数体中使用了模式匹配,简单地将两个输入参数相加并返回结果。

函数应用

要调用 Haskell 函数,只需要把函数名和参数用空格分隔,并把它们放在一对括号中:

result = add 10 20

上面的例子中,我们把 1020 作为参数传递给 add 函数,并将结果保存在 result 变量中。

高阶函数

在 Haskell 中,函数可以作为参数传递给其他函数,也可以作为返回值返回。

函数作为参数:

applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)

applyTwice 函数接受一个函数 f 和一个参数 x,然后将 f 应用到 x 上两次。

函数作为返回值:

multiplyBy :: Int -> (Int -> Int)
multiplyBy x = (\y -> x * y)

multiplyBy 函数接受一个整数 x,然后返回一个函数,该函数将输入的参数与 x 相乘。

示例

下面是一些常见的 Haskell 函数示例:

计算阶乘:

factorial :: Integer -> Integer
factorial 0 = 1
factorial n = n * factorial (n - 1)

判断是否为素数:

isPrime :: Int -> Bool
isPrime n
  | n <= 1    = False
  | otherwise = not $ any (\x -> n `mod` x == 0) [2..sqrtN]
  where sqrtN = floor $ sqrt $ fromIntegral n
结论

Haskell 是一种以函数为核心的语言,函数定义简洁清晰,函数应用灵活高效。使用 Haskell 函数可以编写出安全、可靠且易于维护的程序。