次の関数を検討してください。
let private actionPixel(pixelColour:Color) =
match (pixelColour.A, pixelColour.R, pixelColour.G, pixelColour.B) with
| (0uy, _, _, _) -> transparent
| (alpha, red, green, blue) when red = blue && red = green && red <> 255uy ->
Color.FromArgb(calculateAlpha (int alpha) (int red), 0, 0, 0)
| _ -> pixelColour
私がやりたいのは、に置き換えること| (alpha, red, green, blue) when red = blue && red = green && red <> 255uy ->
です| (alpha, value, value, value) when value <> 255uy ->
。しかし、それを行うと、'value' is bound twice in this pattern
エラーが発生します。
コンパイラを満たすガードを単純化するために行を書き直す方法はありますか?