F#写入if条件的最佳方法是什么?
现在我正是这样写的:
if condition <> true then do
还有其他更简短的方法吗?喜欢用!操作
答案 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。
答案 3 :(得分:-14)
我不知道F#但是在C中,使用了!我写道:
if(!condition) { ... }
与
相同if(condition == false) { ... }