Haskell - 更多函数

Haskell - 更多函数 首页 / Haskell入门教程 / Haskell - 更多函数

到目前为止,我们已经讨论了许多类型的Haskell函数,并使用了不同的方式来调用这些函数,在本章中,我们将学习一些可以在Haskell中轻松使用的基本函数,而无需导入任何特殊的Type类,这些函数大多数都是其他高阶函数的一部分。

头函数

Head function适用于列表,在下面的示例中,我们传递了一个包含10个值的列表,并使用 head 函数生成了该列表的第一个元素。

main=do 
   let x=[1..10]   
   putStrLn "Our list is:"  
   print (x) 
   putStrLn "The first element of the list is:" 
   print (head x)

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/haskell/haskell-more-on-functions.html

来源:LearnFk无涯教程网

Our list is: 
[1,2,3,4,5,6,7,8,9,10]
The first element of the list is:
1

尾函数

Tail 是对 head 函数的补充,它以 list 作为输入,并产生不带头部的整个列表,这意味着 tail 函数将返回没有第一个元素的整个列表。

main=do 
   let x=[1..10]   
   putStrLn "Our list is:"  
   print (x) 
   putStrLn "The tail of our list is:" 
   print (tail x) 

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/haskell/haskell-more-on-functions.html

来源:LearnFk无涯教程网

Our list is:
[1,2,3,4,5,6,7,8,9,10]
The tail of our list is:
[2,3,4,5,6,7,8,9,10]

最后函数

顾名思义,它产生列表的最后一个元素作为输入。

main=do 
   let x=[1..10]   
   putStrLn "Our list is:"  
   print (x) 
   putStrLn "The last element of our list is:" 
   print (last x)

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/haskell/haskell-more-on-functions.html

来源:LearnFk无涯教程网

Our list is:
[1,2,3,4,5,6,7,8,9,10]
The last element of our list is:
10

初始函数

Init 的工作原理与 tail 函数的相反。它使用一个列表作为参数,并返回整个列表而不包含最后一个条目。

main=do 
   let x=[1..10]   
   putStrLn "Our list is:"  
   print (x) 
   putStrLn "Our list without the last entry:"  
   print (init x) 

现在,观察其输出-

Our list is:
[1,2,3,4,5,6,7,8,9,10]
Our list without the last entry:
[1,2,3,4,5,6,7,8,9]

空函数

Null 是一个布尔检查函数,它对String起作用,并且仅在给定列表为空时才返回 True ,否则返回 False 。以下代码检查提供的列表是否为空。

main=do 
   let x=[1..10]   
   putStrLn "Our list is:"  
   print (x) 
   putStrLn "Is our list empty?"  
   print (null x)

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/haskell/haskell-more-on-functions.html

来源:LearnFk无涯教程网

Our list is:
[1,2,3,4,5,6,7,8,9,10]
Is our list empty?
False

反转函数

它对String字符串输入起作用,并将整个输入转换为相反的顺序,并给出一个输出。以下是此函数的代码库。

main=do 
   let x=[1..10]  
   putStrLn "Our list is:" 
   print (x) 
   putStrLn "The list in Reverse Order is:" 
   print (reverse x)

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/haskell/haskell-more-on-functions.html

来源:LearnFk无涯教程网

Our list is:
[1,2,3,4,5,6,7,8,9,10]
The list in Reverse Order is:
[10,9,8,7,6,5,4,3,2,1]

长度函数

此函数用于计算作为参数给出的 list 的长度。

main=do 
   let x=[1..10]   
   putStrLn "Our list is:" 
   print (x) 
   putStrLn "The length of this list is:" 
   print (length x)

我们的列表中有10个元素,因此我们的代码将输出10个元素。

Our list is:
[1,2,3,4,5,6,7,8,9,10]
The length of this list is:
10

提取函数

Take 函数用于从另一个String字符串创建一个子字符串,以下代码显示了如何在Haskell中使用take函数-

main=print(take 5 ([1 .. 10])) 

该代码从提供的列表中生成包含5个元素的子字符串-

[1,2,3,4,5]

删除函数

此函数还用于生成子字符串。它与 take 函数相反。看下面的代码-

main=print(drop 5 ([1 .. 10])) 

该代码从提供的列表中删除前5个元素,并打印其余5个元素。 它将产生以下输出-

[6,7,8,9,10]

最大值函数

此函数用于从提供的列表中查找具有最大值的元素。让我们看看如何在实践中使用它-

main=do 
   let x=[1,45,565,1245,02,2]   
   putStrLn "The maximum value element of the list is:"  
   print (maximum x)

上面的代码将生成以下输出-

The maximum value element of the list is:
1245

最小值函数

此函数用于从提供的列表中查找最小值的元素。它与 maximum 函数的相反。

main=do 
   let x=[1,45,565,1245,02,2]   
   putStrLn "The minimum value element of the list is:"  
   print (minimum x)

上面的代码的输出是-

The minimum value element of the list is:
1

总和函数

顾名思义,此函数返回提供的列表中存在的所有元素的总和。以下代码获取5个元素的列表,并将其总和作为输出返回。

main=do 
   let x=[1..5] 
   putStrLn "Our list is:" 
   print (x) 
   putStrLn "The summation of the list elements is:" 
   print (sum x)

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/haskell/haskell-more-on-functions.html

来源:LearnFk无涯教程网

Our list is:
[1,2,3,4,5]
The summation of the list elements is:
15

您可以使用此函数将列表中的所有元素相乘并打印其值。

main=do 
   let x=[1..5] 
   putStrLn "Our list is:" 
   print (x) 
   putStrLn "The multiplication of the list elements is:" 
   print (product x) 

我们的代码将产生以下输出-

Our list is:
[1,2,3,4,5]
The multiplication of the list elements is: 
120

元素函数

此函数用于检查提供的列表是否包含特定元素。因此,它返回 true 或 false 。

无涯教程网

以下代码检查所提供的元素列表是否包含值786。

main=do 
   let x=[1,45,155,1785] 
   putStrLn "Our list is:" 
   print (x) 
   putStrLn "Does it contain 786?" 
   print (elem 786 (x))

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/haskell/haskell-more-on-functions.html

来源:LearnFk无涯教程网

Our list is:
[1,45,155,1785]
Does it contain 786?
False

使用相同的代码检查提供的列表中是否包含值1785。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

编辑训练营 -〔总编室〕

接口测试入门课 -〔陈磊〕

Java业务开发常见错误100例 -〔朱晔〕

互联网人的英语私教课 -〔陈亦峰〕

代码之丑 -〔郑晔〕

基于人因的用户体验设计课 -〔刘石〕

说透区块链 -〔自游〕

手把手带你写一门编程语言 -〔宫文学〕

手把手带你写一个MiniSpring -〔郭屹〕

好记忆不如烂笔头。留下您的足迹吧 :)