F# で述語を論理的に組み合わせる標準的な方法はありますか? たとえば、isCar x
次isBlue 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