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 값이 포함되어 있는지 확인하십시오.