Пусть привязки к одной функции

#function #binding #f# #tuples #let

#функция #привязка #f# #Кортежи #пусть

Вопрос:

Итак, я не могу понять, как вы создаете 2 привязки let к одному и тому же результату функции (кортежу) в FSharp. Например, если у меня есть функция: Play(), вывод которой равен (x, y) . И я хочу использовать x и y в другой функции. Прямо сейчас я пишу:

 Let first = fst Play()
Let second = snd Play(). 
  

Но эти 2 пусть привязки просто запускают функцию дважды.
Итак, если это имеет смысл, как мне сделать 2 привязки let к функции, которые должны выполняться только один раз? : D
Заранее спасибо!

Ответ №1:

Просто:

 let first, second = Play()
  

Вы также можете связать кортеж, а затем разделить его:

 let coords = Play()
let x      = fst coords
let y      = snd coords