Вы хотите препятствовать тому, чтобы Ваша жена старела путем создания ее возраста неизменным?:)
Для кортежа, который содержит только двух участников, Вы можете fst
и snd
для извлечения членов пары.
let wifeName = fst myWife;
let wifeAge = snd myWife;
Для более длинных кортежей, необходимо будет распаковать кортеж в другие переменные. Например,
let _, age = myWife;;
let name, age = myWife;;
Другая довольно полезная вещь состоит в том, что сопоставление с образцом (точно так же, как при извлечении элементов с помощью "позволяют" привязке) может использоваться в других ситуациях, например, при записи функции:
let writePerson1 person =
let name, age = person
printfn "name = %s, age = %d" name age
// instead of deconstructing the tuple using 'let',
// we can do it in the declaration of parameters
let writePerson2 (name, age) =
printfn "name = %s, age = %d" name age
// in both cases, the call is the same
writePerson1 ("Joe", 20)
writePerson2 ("Joe", 20)
Вы можете использовать функцию fst для получения первого элемента, и snd для получения второго элемента. Вы также можете написать свою собственную "третью" функцию:
let third (_, _, c) = c
Подробнее читайте здесь: Справочник по языку F#, Кортежи