Ответ 1
Это просто синтаксический сахар. Так же, как в С# c => c = 'A'
используется синтаксический сахар для delegate (char c) { return c = 'A'; }
. На самом деле все сводится к личным предпочтениям.
Возможный дубликат:
Явное соответствие F # и синтаксис функций
Здравствуйте,
Я изучаю F # и смущен словами 'fun' и 'function'. Я понимаю, что это одно и то же.
// Use 'fun'
let testFunction1 = fun argument -> match argument with
| Some(x) -> x
| None -> 0
// Use 'function'
let testFunction2 = function
| Some(x) -> x
| None -> 0
Является ли функция "просто" сокращенной для "fun x → match x with"? Есть ли разница между временем выполнения/оптимизации между ними? Почему я предпочитаю использовать один над другим?
Как бы то ни было, "функция" просто делает код более трудным для чтения. Я что-то пропустил?
Это просто синтаксический сахар. Так же, как в С# c => c = 'A'
используется синтаксический сахар для delegate (char c) { return c = 'A'; }
. На самом деле все сводится к личным предпочтениям.
функция допускает только один аргумент, но позволяет сопоставлять шаблоны, а fun - более общий и гибкий способ определения функции. Посмотрите здесь: http://caml.inria.fr/pub/docs/manual-ocaml/expr.html