Aracılığıyla paylaş


Dizilerini (F#)

A kayıt düzeni büyük olasılıkla farklı türde adlandırılmamış ancak sıralı değerler gruplandırmasıdır.

( element , ... , element ) 

Notlar

Her element önceki sözdiziminde herhangi bir ifade olabilir.

Örnekler

Çiftler, triples ve aynı veya farklı türleri benzeri dizilerini örnekleridir. Bazı örnekler aşağıdaki kodda gösterildiği gibidir.

// 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) 

Tek tek değerler alma

Desen eşleştirme erişmek ve kayıt düzeni öğelerinin adları atamak için aşağıdaki kodda gösterildiği gibi kullanabilirsiniz.

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

Kayıt düzeni desenler kullanabilirsiniz let aşağıdaki gibi bağlar.

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

Bu değerler bağlar a ve b aynı zamanda. Tek bir kayıt düzeni öğesi gerekiyorsa, joker karakter (alt çizgi) gereksiniminiz olmayan bir değişken için yeni bir ad oluşturma önlemek için kullanılabilir.

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

İşlevleri fst ve snd ilk dönmek ve bir kayıt düzeni öğelerini sırasıyla ikinci.

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

Bir Üçlü üçüncü öğeyi döndürür yerleşik hiçbir işlevi yoktur, ancak, kolay bir şekilde yazabilirsiniz.

let third (_, _, c) = c

Genellikle, tek tek kayıt düzeni öğelerini erişmek için desen eşleştirme kullanmak daha uygundur.

Dizilerini kullanma

Dizilerini, aşağıdaki örnekte gösterildiği gibi bir işlevi, birden çok değer dönmek için elverişli bir yol sunar. Bu örnek, tamsayı bölme gerçekleştirir ve işlem kayıt düzeni çiftinin ilk üye olarak ve kalanı çifti ikinci bir üyesi olarak yuvarlak sonucunu verir.

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

Her zamanki gibi işlev sözdizimi tarafından örtülü fonksiyon bağımsız değişkenleri örtülü currying önlemek istediğinizde dizilerini de işlev bağımsız değişken olarak kullanılabilir.

let sumNoCurry (a, b) = a + b

İşlev tanımlamak için genel sözdizimi let sum a b = a + b , aşağıdaki kodda gösterildiği gibi kısmi bir uygulama işlevinin ilk bağımsız değişkenin bir işlev tanımlamanızı sağlar.

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

Kayıt düzeni parametre olarak kullanarak currying devre dışı bırakır. Daha fazla bilgi için "Bağımsız kısmi uygulama" konusuna bakın. İşlevler (F#).

Kayıt düzeni türü adları

Kayıt düzeni olan bir tür bilginin adını yazarken kullandığınız * öğelerini ayırmak için kullanılan simge. Oluşan kayıt düzeni için bir int, bir floatve bir string, gibi (10, 10.0, "ten"), türü gibi yazılacaktır.

int * float * string

Derlenmiş şeklidir dizilerini

Dizilerini F# ve bunları diğer diller için sunduğu değil yalnızca kullanıyorsanız ve bir sürümünün hedefleme değil.net Framework, sürüm 4 öncesinde Bu bölümde göz ardı edebilirsiniz.

Dizilerini birkaç genel türlerinden birinin, tüm adlandırılmış nesneleri derlenmiş Tuple, parametre veya türü parametre sayısı aşırı. Kayıt düzeni türleri, C# veya Visual Basic gibi başka bir dilde görmek veya F# yapıları farkında olmayan bir araç kullanırken bu formda görüntülenir. Tuple Türleri saklanamaz.net Framework 4. Daha önceki bir sürümünü hedeflediğiniz varsa.net Framework Derleyicisi sürümlerini kullanan System.Tuple F# Çekirdek Kitaplığı'nın 2.0 sürümünden. Bu kitaplıktaki türleri, 2.0, 3.0 ve 3.5 sürümleri hedefleyen uygulamalar için kullanılır.net Framework. Tür iletme arasındaki ikili uyumluluğu sağlamak için kullanılır.net Framework 2.0 ve.net Framework 4 F# bileşenleri.

Ayrıca bkz.

Diğer Kaynaklar

F# dil başvurusu

F# türleri