Haskell-関数の詳細

これまで、多くの種類のHaskell関数について説明し、さまざまな方法でそれらの関数を呼び出してきました。この章では、特別な型クラスをインポートせずに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 文字列で機能し、を返すブールチェック関数です 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

逆関数

文字列入力で機能し、入力全体を逆の順序に変換して、結果として1つの出力を提供します。以下は、この関数のコードベースです。

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

エレム関数

この関数は、提供されたリストに特定の要素が含まれているかどうかを確認するために使用されます。したがって、それはどちらかを返します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が含まれているかどうかを確認します。