Рассмотрим следующую функцию:
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
.
Есть ли способ переписать строку, чтобы упростить защиту, удовлетворяющую компилятору?