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.