Доступ к определенному участнику в кортеже F#

Просто сделайте:

SELECT * FROM c where c.customerSites[0].pricingGroup[0].itemCode = 2400953

enter image description here

37
задан Yi Jiang 9 March 2011 в 10:44
поделиться

3 ответа

Вы хотите препятствовать тому, чтобы Ваша жена старела путем создания ее возраста неизменным?:)

Для кортежа, который содержит только двух участников, Вы можете fst и snd для извлечения членов пары.

let wifeName = fst myWife;
let wifeAge = snd myWife;

Для более длинных кортежей, необходимо будет распаковать кортеж в другие переменные. Например,

let _, age = myWife;;
let name, age = myWife;;
75
ответ дан david.barkhuizen 27 November 2019 в 04:09
поделиться

Другая довольно полезная вещь состоит в том, что сопоставление с образцом (точно так же, как при извлечении элементов с помощью "позволяют" привязке) может использоваться в других ситуациях, например, при записи функции:

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)
22
ответ дан Tomas Petricek 27 November 2019 в 04:09
поделиться

Вы можете использовать функцию fst для получения первого элемента, и snd для получения второго элемента. Вы также можете написать свою собственную "третью" функцию:

let third (_, _, c) = c

Подробнее читайте здесь: Справочник по языку F#, Кортежи

14
ответ дан 27 November 2019 в 04:09
поделиться
Другие вопросы по тегам:

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