Ответ 1
Я думаю, что ответ на предыдущий вопрос (и комментарии - "В общем, это это анти-шаблон, который должен иметь в качестве защиты в последнем шаблоне" kimsk).
Однако я бы не сказал, что наличие защиты в последнем шаблоне является анти-шаблоном - это самый простой способ обхода, но я считаю это несколько неудачным, потому что шаблон when
дает вам полезную информацию о значениях, которые вы может ожидать - и это облегчает понимание программы. В прошлый раз, когда у меня была эта проблема, я оставил ее там, по крайней мере, в качестве комментария:
let compareNum x =
let y = 10
match x with
| _ when x = y -> 0
| _ when x > y -> 1
| _ (*when x < y*) -> -1