F#如果没有条件

时间:2010-12-11 20:53:01

标签: f#

F#写入if条件的最佳方法是什么?

现在我正是这样写的:

if condition <> true then do

还有其他更简短的方法吗?喜欢用!操作

4 个答案:

答案 0 :(得分:24)

如果您认为not也是一个函数,那么您可以将条件输入其中以避免括号如此:

if not <| condition param1 param2 then ...

原因是如果你的条件函数接受了参数,你不需要做

not (condition param1 param2) 

第一种方式可能有点干净,因为看起来f#支持管道而不是运算符优先级的括号。

答案 1 :(得分:18)

在Ocaml中,您可以使用“not”关键字:

if not condition then ...

希望与F#一起工作。

答案 2 :(得分:6)

not function,但它只适用于布尔变量。

所以你可以说:

if (not condition) then do

但这不适用于其他类型,如C风格的语言。

不要意外使用!,因为它仍然是F#中的运算符,它是dereference on a mutable reference cell

请参阅full operator documentation

答案 3 :(得分:-14)

我不知道F#但是在C中,使用了!我写道:

if(!condition) { ... }

相同
if(condition == false) { ... }