Подтвердить что ты не робот

F # если не условие

Каков наилучший способ в F # записать условие if not?

Сейчас я пишу это так:

if condition <> true then do

Есть ли еще более короткий способ написать его? Как использовать! оператор?

4b9b3361

Ответ 1

В Ocaml вы можете использовать ключевое слово "не":

if not condition then ...

Надеюсь, что тоже работает с F #.

Ответ 2

если вы считаете, что не является также функцией, тогда вы можете связать свое условие с ней, чтобы избежать скобок, например:

if not <| condition param1 param2 then ...

причина заключается в том, что если ваша функция условия принимает аргументы, вам не нужно делать

not (condition param1 param2) 

он, вероятно, немного чище, чтобы сделать это первым путем, так как кажется, что f # в пользу труб вместо скобок для приоритета оператора.

Ответ 3

Существует not function, но она работает только с булевыми переменными.

Итак, вы можете сказать:

if (not condition) then do

Но это не будет работать с другими типами, как на языках C-стиля.

Не используйте ! случайно, так как он все еще является оператором в F #, это разыменование в изменяемой ячейке ссылки.

См. полную документацию .

Ответ 4

Я не знаю F #, но в C, используя! оператора я бы написал:

if(!condition) { ... }

что совпадает с

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