Haskell-기능에 대한 추가 정보
지금까지 우리는 여러 유형의 Haskell 함수에 대해 논의하고 이러한 함수를 호출하는 데 다양한 방법을 사용했습니다. 이 장에서는 특별한 Type 클래스를 가져 오지 않고도 Haskell에서 쉽게 사용할 수있는 몇 가지 기본 함수에 대해 배웁니다. 이러한 함수의 대부분은 다른 고차 함수의 일부입니다.
머리 기능
Head기능은 목록에서 작동합니다. 기본적으로 목록 인 입력 인수의 첫 번째를 반환합니다. 다음 예에서는 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)
다음과 같은 출력이 생성됩니다.
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)
다음과 같은 출력이 생성됩니다.
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)
다음과 같은 출력이 생성됩니다.
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 함수
Null 문자열에서 작동하고 반환하는 부울 검사 함수입니다. True 주어진 목록이 비어있을 때만, 그렇지 않으면 False. 다음 코드는 제공된 목록이 비어 있는지 여부를 확인합니다.
main = do
let x = [1..10]
putStrLn "Our list is:"
print (x)
putStrLn "Is our list empty?"
print (null x)
다음과 같은 출력이 생성됩니다.
Our list is:
[1,2,3,4,5,6,7,8,9,10]
Is our list empty?
False
역기능
문자열 입력에서 작동하고 전체 입력을 역순으로 변환하고 결과로 하나의 출력을 제공합니다. 다음은이 함수의 코드베이스입니다.
main = do
let x = [1..10]
putStrLn "Our list is:"
print (x)
putStrLn "The list in Reverse Order is:"
print (reverse x)
다음과 같은 출력이 생성됩니다.
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함수는 다른 문자열에서 하위 문자열을 만드는 데 사용됩니다. 다음 코드는 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)
다음과 같은 출력이 생성됩니다.
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
Elem 기능
이 함수는 제공된 목록에 특정 요소가 포함되어 있는지 여부를 확인하는 데 사용됩니다. 따라서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))
다음과 같은 출력이 생성됩니다.
Our list is:
[1,45,155,1785]
Does it contain 786?
False
동일한 코드를 사용하여 제공된 목록에 1785 값이 포함되어 있는지 확인하십시오.