У меня есть функция, которая создает рабочий процесс Async и функцию, которая принимает 10 аргументов в стиле карри. напримерКак сделать точечный стиль с длинным списком параметров
let createSequenceCore a b c d e f g h i j =
async {
...
}
Я хочу, чтобы создать еще одну функцию, чтобы начать этот рабочий процесс, так что я получил
let startSequenceCore a b c d e f g h i j =
Async.StartImmediate (createSequenceCore a b c d e f g h i j)
Есть ли способ, я могу избавиться от этих избыточных параметров? Я попробовал оператор <<
, но это только позволяет мне удалить его.
let startSequenceCore a b c d e f g h i =
Async.StartImmediate << (createSequenceCore a b c d e f g h i)
(я добавил Haskell и Scala на этот вопрос, даже если сам код F #, так как на самом деле то, что я хочу, это просто, как сделать этот вид выделки, который применим к любому, я думаю, Ответ Haskell или Scala был бы легко переносимым на F # и мог бы быть отмечен как правильный ответ).
УКАЗАНИЕ Разумно хорошо показать, что это нелегкое решение для этого также может получить щедрость.
UPDATE geesh Я не собираюсь дать 100 очков, чтобы дать ответ, который спорит с вопросом, а не отвечая на него, даже если это наибольшее количество голосов, поэтому здесь:
Я получил функцию, которая создает рабочий процесс Async, и функцию, которая принимает аргументы в стиле карри. например
let createSequenceCore a b c d =
async {
...
}
Я хочу, чтобы создать еще одну функцию, чтобы начать этот рабочий процесс, так что я получил
let startSequenceCore a b c d =
Async.StartImmediate (createSequenceCore a b c d)
Есть ли способ, я могу избавиться от этих избыточных параметров? Я попробовал оператор <<
, но это только позволяет мне удалить его.
let startSequenceCore a b c =
Async.StartImmediate << (createSequenceCore a b c)
Добавлен более полный ответ как редактирование, пожалуйста, проверьте его. –