Haskell-modules
Haskell-モジュール
Javaで作業したことがある場合は、 package というフォルダーにすべてのクラスがどのようにバインドされているかがわかります。 同様に、Haskellは*モジュール*のコレクションと考えることができます。
Haskellは関数型言語であり、すべてが式として示されているため、モジュールは類似または関連するタイプの関数のコレクションとして呼び出すことができます。
1つのモジュールから別のモジュールに関数を*インポート*できます。 他の関数の定義を開始する前に、すべての「import」ステートメントが最初に来るはずです。 この章では、Haskellモジュールのさまざまな機能について学びます。
リストモジュール
次の例では、Listモジュールで使用可能ないくつかの重要な機能を使用しています。
ここでは、多くの関数を定義せずに使用しています。 これは、これらの関数がリストモジュールで使用できるためです。 Listモジュールをインポートした後、Haskellコンパイラーはこれらすべての関数をグローバル名前空間で利用可能にしました。 したがって、これらの関数を使用できます。
私たちのコードは次の出力を生成します-
チャーモジュール
ここで、関数 toUpper および toLower は Char モジュール内で既に定義されています。 それは次の出力を生成します-
マップモジュール
それは次の出力を生成します-
セットモジュール
Setモジュールには、数学データを操作するための非常に便利な定義済み関数がいくつかあります。 セットはバイナリツリーとして実装されるため、セット内のすべての要素は一意である必要があります。
次のサンプルコードを見てください
ここでは、StringをSetに変更しています。 次の出力が生成されます。 出力セットに文字の繰り返しがないことを確認してください。
カスタムモジュール
他のプログラムで呼び出すことができるカスタムモジュールを作成する方法を見てみましょう。 このカスタムモジュールを実装するには、 "main.hs" とともに "custom.hs" という別のファイルを作成します。
カスタムモジュールを作成し、その中にいくつかの関数を定義しましょう。
custom.hs
カスタムモジュールの準備ができました。 次に、プログラムにインポートします。
main.hs
私たちのコードは次の出力を生成します-
「4」は偶数なので、 showEven 関数は True を返します。 showBoolean 関数は、関数に渡したブール関数が「True」であるため、「1」を返します。