Sdílet prostřednictvím


N-tic (F#)

A n-tice je seskupení nepojmenované ale objednané hodnoty, případně různé typy.

( element , ... , element ) 

Poznámky

Každý element předchozí syntaxe může být libovolný výraz.

Příklady

Příklady n-tic dvojice, triples a podobně stejné nebo odlišné typy.Některé příklady jsou znázorněny v následujícím kódu.

// Tuple of two integers.
( 1, 2 ) 

// Triple of strings.
( "one", "two", "three" ) 

// Tuple of unknown types.
( a, b ) 

// Tuple that has mixed types.
( "one", 1, 2.0 ) 

// Tuple of integer expressions.
( a + 1, b + 1) 

Získání jednotlivých hodnot

Můžete porovnávání přístup a přiřadit názvy prvků n-tice, jak je znázorněno v následujícím kódu.

let print tuple1 =
   match tuple1 with
    | (a, b) -> printfn "Pair %A %A" a b

Pomocí n-tice vzorky v let vazby způsobem.

let (a, b) = (1, 2)

Tato vazba hodnoty a a b současně.Pokud potřebujete pouze jeden prvek n-tice, zástupný znak (znak podtržení) lze předejít vytvoření nový název proměnné, které nepotřebujete.

let (a, _) = (1, 2)

Funkce fst a snd vrátí první a druhé prvky n-tice, resp..

let c = fst (1, 2)
let d = snd (1, 2)

Neexistuje žádné vestavěné funkce, která vrací třetí prvek třikrát, ale jednu takto snadno zapisovat.

let third (_, _, c) = c

Obecně je lepší použít masku prvky n-tice individuální přístup.

Pomocí n-tice

N-tic poskytují pohodlný způsob, jak vrátit více hodnot z funkce, jak ukazuje následující příklad.Tento příklad provádí celočíselné dělení a vrátí výsledek zaoblený operace jako prvního člena n-tice dvojice a zbytek jako člen druhé dvojice.

let divRem a b = 
   let x = a / b
   let y = a % b
   (x, y)

N-tic lze také použít jako argumenty funkce nechcete, aby implicitní currying argumenty funkce, které je zahrnuto v obvyklé funkce syntaxe.

let sumNoCurry (a, b) = a + b

Obvyklé syntaxi pro definování funkce let sum a b = a + b umožňuje definovat funkci, která je částečné provádění prvního argumentu funkce, viz následující kód.

let addTen = sum 10
let result = addTen 95  
// Result is 105.

Pomocí n-tice jako parametr zakáže currying.Další informace naleznete v části "Částečné aplikace argumenty" v Funkce (F#).

Názvy typů n-tice.

Při zápisu názvu typu n-tice je použít * symbol jednotlivé prvky.Pro n-tice, který se skládá z int, floata string, jako například (10, 10.0, "ten"), typ by takto napsané.

int * float * string

Kompilované formě n-tice

Pokud používáte pouze n-tic z F# a není je vystavuje do jiných jazyků a cílení na verzi není.NET Framework, které předcházely verze 4, v této části můžete ignorovat.

N-tic jsou zkompilovány do objektů několik obecných typů všechny pojmenované Tuple, které jsou přetížené Arita nebo počet parametrů typu.Při zobrazení jiného jazyka, například C# nebo Visual Basic nebo nástroj, který není vědoma F# konstrukce, zobrazí se v tomto formuláři Typy n-tice.Tuple Typy byly zavedeny v.NET Framework, 4.Pokud volíte starší verze.NET Framework, kompilátor používá verze System.Tuple z knihovny F# základní verzi 2.0.Typy v této knihovně jsou používány pouze pro aplikace, které používají 2.0, 3.0 a 3.5 verze.NET Framework.Předávání typ slouží k zajištění Binární kompatibilita.NET Framework 2.0 a.NET Framework 4 F# komponenty.

Viz také

Další zdroje

F# Language Reference

Typy F#