Определение параметров в функциях F #, лучше ли использовать кортежи? - PullRequest
5 голосов
/ 13 декабря 2010

Простой вопрос ... Является ли хорошей практикой определение функции, принимающей более 1 параметра через кортежи?

Я лучше объясню: У меня есть функция:

let myfunc par1 par2 = ...;;

Это хорошо, чтобы так?

let myfunc (par1, par2) = ...;;

Когда я говорю «это хорошо», я говорю: это хорошая практика? хорошо ли это делать ВСЕГДА в качестве обычной практики передачи параметров в функцию ??

Спасибо

1 Ответ

5 голосов
/ 13 декабря 2010

Обычный стиль F # предназначен для определения функций с каррированием, т. Е. Без кортежа в соответствии с первым примером.

Curry позволяет вам сделать это: («частичное применение»)

let myfunc par1 par2 = ...
let myfuncHello = myfunc "Hello"
myfuncHello "World" // same as: myfunc "Hello" "World"

Однако, если вы предоставляете свой код на языках .NET, отличных от F #, придерживайтесь кортежа, так как трудно вызывать карри, кроме F #.

Редактировать: с нового сайта F # Snippets: http://fssnip.net/I

...