新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

F#イジってみてました。Functionsその12。高階関数、

2022-07-17 14:59:24 | F#

マイクロソフトの説明。

関数呼び出しの結果値として関数を返すことができるのは、高階関数のもう 1 つの特徴です。 次の例では、1 つの引数 checkFor を受け取り、結果値として新しい関数を返す item という関数を定義します。 返された関数は、引数 lst としてリストを受け取り、その item 内で lst を検索します。 item が存在する場合、関数は true を返します。 item がない場合、関数は false を返します。 次のコードでは、前のセクションと同様に、用意されているリスト関数 List.exists を使用してリストを検索します。

何か良く分からないです。試しに英語版をDeepLで訳してみましたのが下です。下の方が分かりやすいでしょう。

関数呼び出しの値として関数を返すことができるのが、高階関数の第二の特徴である。次の例では、checkForはitemという引数をとり、その値として新しい関数を返す関数と定義されている。返される関数は、引数としてリストlstを取り、lstの中にitemがあるかどうかを探す。もしitemが存在すれば、この関数はtrueを返す。itemが存在しない場合、この関数はfalseを返す。前のセクションと同様に、次のコードでは、提供されたリスト関数List.existsを使ってリストを検索しています。

 13行目が肝だと思います。関数を定義しているようで、例えば、関数fは、let f x = x * xかまたは、let f = fun x -> x * xが関数を定義しているので、微妙に違いがあります。checkForは、ローカル関数functionToReturnがあって、ラムダ式で一致した要素があるかを調べて、boole値を返す。

17行目を追加しました。


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« F#イジってみてました。Funct... | トップ | F#イジってみてました。Funct... »
最新の画像もっと見る

F#」カテゴリの最新記事