使用默认值选择值

Dev*_*r11 3 f# option-type

在回答这个问题的帮助下,我需要帮助解决在以下情况下如何从选项类型中检索值的具体语法.

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) // ???
Run Code Online (Sandbox Code Playgroud)

语法帮助 (query.pageSize |> 10 |< query.pageSize)

Tay*_*ood 10

Option.defaultValue 是你的朋友:

type Query = {
  q : string
  pageSize : int option
}
let q = {q = "foo"; pageSize = None}
let p = q.pageSize |> Option.defaultValue 10
Run Code Online (Sandbox Code Playgroud)

  • 可从F#4.1获得. (4认同)