Символ подчеркивания используется, когда вы не заботитесь о значении и не будете использовать его в последующем коде.Вам просто нужно дать переменной имя.Попробуйте это:
| msg -> printfn "%s" msg
В этом примере я выбрал msg
в качестве имени переменной, но это может быть любое допустимое имя переменной, которое вы выберете.
Поскольку все ветвиmatch
оператор должен возвращать тот же тип, вам нужно больше, чем просто printfn
оператор.В подобных случаях, когда внешний вызов потенциально может завершиться сбоем, обычно используется тип Option<'a>
для представления успеха или неудачи.
Не зная специфики вашей конечной точки API, рассмотрите этот псевдокод:
let GetCaptchaRequest id : string option =
match Http.RequestString("http://foo.com/res.php",
httpMethod = "GET",
query = ["key", key; "action", "get"; "id", id]) with
| "CAPCHA_NOT_READY" -> printfn "Sleeping for 5"
Thread.Sleep(5000)
GetCaptchaRequest id
| "ERROR" -> printfn "Something went wrong!"
None
| result -> printfn "Successful result!"
Some (parseMyCaptchaResult result)