F# で述語を組み合わせる 質問する

F# で述語を組み合わせる 質問する

F# で述語を論理的に組み合わせる標準的な方法はありますか? たとえば、isCar xisBlue xのようなものが欲しいとします。

let isBlueCar x = isCar x && isBlue x

ただし、呼び出しではなく、次のような何らかの構成を使用します。

let isBlueCar x = isCar && isBlue

できれば、多数または任意の数の述語を受け入れることができるものが望ましいです。

ベストアンサー1

コンビネータを定義することもできます。

let (<&>) f g = (fun x -> f x && g x)

それから

let isBlueCar = isCar <&> isBlue

おすすめ記事