使用默认值选择值

时间:2018-03-16 13:31:59

标签: f# option-type

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

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)

的语法帮助

2 个答案:

答案 0 :(得分:8)

Option.defaultValue是你的朋友:

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

答案 1 :(得分:2)

您链接的答案提供了非常明确的语法说明:

input |> defaultArg <| ""

在您的情况下,输入为query.pageSize,默认值为10,而不是空字符串。所以:

query.pageSize |> defaultArg <| 10