具有if表达式的管道运算符

时间:2018-05-15 00:28:06

标签: f#

是否可以在if?

中使用管道运算符

我试过的代码:

true
|> (if)
   then "Yes!"
   else "No"

1 个答案:

答案 0 :(得分:2)

我认为你不能这样做,因为if...then本身就是一个表达。你为什么要这样做,即目标是什么?

如果要插入某些条件逻辑,可以使用match语句:

match true with
    | true -> "Yes"
    | _  -> "false"

这可以用function编写,它将采用第一个(curried)参数并匹配它:

let myif =
    function 
        | true -> "Yes"
        | _ -> "false"

true |> myif

否则你可以重新定义if,我想很多人会因此而讨厌你。 : - )

let myif2 x = if x then "Yes" else "No"

true |> myif2