Elm-functions

提供:Dev Guides
移動先:案内検索

エルム-関数

関数はElmプログラムの構成要素です。 関数は、特定のタスクを実行するための一連のステートメントです。

関数は、プログラムをコードの論理ブロックに編成します。 定義すると、コードにアクセスするために関数を呼び出すことができます。 これにより、コードが再利用可能になります。 さらに、関数を使用すると、プログラムのコードの読み取りと保守が簡単になります。

関数を使用する手順

関数を使用するには3つのステップがあります-

関数宣言

関数宣言は、関数の名前、戻り値の型、およびパラメーターについてコンパイラーに通知します。 関数を宣言するための構文は以下のとおりです-

fn_name:data_type_of_the_parameters ->return_type

関数宣言は以下を指定します-

  • 関数の名前。
  • パラメーターのデータ型。 関数にはパラメーターがある場合とない場合があるため、これはオプションです。
  • 関数が返す値のデータ型。 Elmは関数型プログラミング言語であるため、Elmの関数は常に値を返す必要があります。 他のプログラミング言語の関数とは異なり、Elm関数は値を返すためにreturnキーワードを使用しません。

関数定義または関数実装

関数定義は、関数の実際の本体を提供します。 関数定義は、特定のタスクの実行方法を指定します。 関数を定義するための構文は以下のとおりです-

fn_name parameter1 parameter2 = statements

関数の呼び出しまたは呼び出し

関数を実行するには、関数を呼び出す必要があります。 関数を呼び出すための構文は以下のとおりです-

fn_name parameter1 parameter2

次のコードは、関数greetを定義しています。 この関数は、文字列「Hello」を返します。

> greet = \
| if True then \
| "Hello" \
| else \
| "GoodBye"
"Hello" : String
> greet
"Hello" : String

パラメータ化された関数

パラメータは、関数に値を渡すためのメカニズムです。 パラメーターの値は、関数の呼び出し時に関数に渡されます。

イラスト1

次の例では、_fn_add_関数を定義しています。 この関数は、パラメーターとして2つの数値を受け入れ、それらの合計を返します。 elm REPLで次を試してください-

> fn_add x y = x+y
<function> : number -> number -> number
> fn_add 10 20
30 : number

イラスト2

次の例では、sayHello関数を定義しています。 sayHello関数は、パラメーターとして文字列値を受け入れて返し、文字列を返します。

> sayHello name = "Hello "++ name
<function> : String -> String
> sayHello "finddevguides"
"Hello finddevguides" : String
>

パイプオペレーター

パイプ演算子|>を理解するために、さまざまな文字列_ ["a"、 "b"、 "c"] _のリストがある例を考えてみましょう。 今、我々はで区切られている単一の文字列が必要です-

次の例は、_String.join_を使用してこれを行う方法を示しています

> String.join "-" ["a","b","c","d","e","f"]
"a-b-c-d-e-f" : String

パイプ演算子|>を使用して、同じアクションを実行できます。 パイプ演算子を使用して、複数の関数呼び出しを連鎖できます。

> ["a","b","c","d","e","f"] |> String.join "-"
"a-b-c-d-e-f" : String
> ["a","b","c","d","e","f"] |> List.reverse |> String.join "-"
"f-e-d-c-b-a" : String

最初の例では、リストを連結してメソッドを結合しています。 2番目のケースでは、同じリストが逆関数にパイプされ、その後、結合されて結合されます。 そのため、リストは反転して結合されて表示されます。