Определение параметров в функциях F#, лучше ли использовать кортежи?
Простой вопрос... Это хорошая практика, чтобы определить функцию, принимающую более 1 параметра через кортежи?
Я лучше объясню: у меня есть функция:
let myfunc par1 par2 = ...;;
Это хорошо, чтобы так?
let myfunc (par1, par2) = ...;;
Когда я говорю "это хорошо", я говорю: это хорошая практика? это хорошо делать это ВСЕГДА в качестве обычной практики для передачи параметров в функцию?
Спасибо
1 ответ
Решение
Обычный стиль 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