具有默认值的选项

Option to value with default value

在这个 的回答的帮助下,我需要有关如何在以下情况下从选项类型中检索值的特定语法方面的帮助。

type Query = {
    q : string
    pageSize : int option
}

let search (query : Query) =
    let url = sprintf "foo.com?q=%spageSize=%i" query.q (query.pageSize |> 10 |< query.pageSize) // ???

(query.pageSize |> 10 |< query.pageSize)

的语法帮助

您链接的答案非常清楚地说明了语法:

input |> defaultArg <| ""

在您的例子中,输入是 query.pageSize,默认值是 10 而不是空字符串。所以:

query.pageSize |> defaultArg <| 10

Option.defaultValue是你的朋友:

type Query = {
  q : string
  pageSize : int option
}
let q = {q = "foo"; pageSize = None}
let p = q.pageSize |> Option.defaultValue 10