Birim Türü

Tür unit , belirli bir değerin yokluğunu gösteren bir türdür; unit türün yalnızca tek bir değeri vardır ve başka bir değer olmadığında veya gerekli olmadığında yer tutucu işlevi görür.

Sözdizimi

// The value of the unit type.
()

Açıklamalar

Her F# ifadesi bir değer olarak değerlendirilmelidir. İlgi çekici bir değer oluşturmayan ifadeler için tür unit değeri kullanılır. Tür, unit C# ve C++ gibi dillerdeki türe benzer void .

Türün unit tek bir değeri vardır ve bu değer belirteci ()ile gösterilir.

Türün unit değeri genellikle F# programlamasında dil söz diziminde bir değerin gerekli olduğu yeri tutmak için kullanılır, ancak değer gerekli olmadığında veya istendiğinde. Bir işlevin dönüş değeri printf örnek olabilir. İşlemin önemli eylemleri printf işlevde gerçekleştiğinden, işlevin gerçek bir değer döndürmesi gerekmez. Bu nedenle, dönüş değeri türündedir unit.

Bazı yapılar bir unit değer bekler. Örneğin, bir do bağlamanın veya modülün en üst düzeyindeki herhangi bir kodun bir unit değer olarak değerlendirmesi beklenir. Derleyici, bir modülün en üst düzeyindeki bir do bağlama veya kod, aşağıdaki örnekte gösterildiği gibi kullanılmayan değer dışında unit bir sonuç ürettiğinde bir uyarı bildirir.

let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore

Bu uyarı, işlevsel programlamanın bir özelliğidir; diğer .NET programlama dillerinde görünmez. İşlevlerin herhangi bir yan etkisi olmayan tamamen işlevsel bir programda, son dönüş değeri işlev çağrısının tek sonucudur. Bu nedenle, sonuç yoksayıldığında olası bir programlama hatasıdır. F# tamamen işlevsel bir programlama dili olmasa da, mümkün olduğunca işlevsel programlama stilini izlemek iyi bir uygulamadır.

Ayrıca bkz.