Задать вопрос
@to_east

F# передача параметров массивом?

Всем привет!
Есть ли возможность передавать в функцию параметры массивом, с последующей распаковкой
// parameters
let args: System.String[] = [|"12:50"; "rica"|]

// function
let some (time: string, costa: string)=
    "..."


P.S. Типа как в Python оператором астерикс (*)
  • Вопрос задан
  • 35 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
F# у нас язык со статической типизацией.
Как ты гарантируешь, что массив содержит ровно два элемента?
Собственно из-за этого нет встроенного оператора.
Попробуй вот такую функцию и скомбинируй её с уже имеющейся, которая принимает кортеж.
/// Преобразует массив из двух элементов в кортеж.
/// Для любых других входных массивов бросает ArgumentException.
let toTuple (arr: 'T[]) : 'T * 'T =
    match arr with
    | [| x; y |] -> x, y
    | _ -> invalidArg "arr" "Array must contain exactly two elements"

Глянь ещё FSharpPlus - возможно там уже есть подходящая стрелочка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы