F # если не условие - PullRequest
       3

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

25 голосов
/ 11 декабря 2010

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

Прямо сейчас я пишу это так:

if condition <> true then do

Есть ли другой, более короткий способ написать это? Нравится использовать! оператор?

Ответы [ 4 ]

26 голосов
/ 21 декабря 2010

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

if not <| condition param1 param2 then ...

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

not (condition param1 param2) 

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

19 голосов
/ 11 декабря 2010

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

if not condition then ...

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

6 голосов
/ 12 декабря 2010

Существует функция not , но она работает только с логическими переменными.

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

if (not condition) then do

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

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

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

0 голосов
/ 11 декабря 2010

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

if(!condition) { ... }

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

if(condition == false) { ... }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...