Birim Türü
Tür, belirli bir değerin yokluğunu gösteren bir tür; türün yalnızca tek bir değeri vardır ve başka bir değer mevcut olduğunda veya gerekli olduğunda yer unit unit tutucu olarak davranır.
Syntax
// The value of the unit type.
()
Açıklamalar
Her F# ifadesinin bir değer olarak değerlendirilmesi gerekir. İlgi alan bir değer oluşturmaz ifadeler için türün unit değeri kullanılır. Tür, unit C# ve void C++ gibi dillerdeki türe benzer.
Türün unit tek bir değeri vardır ve bu değer belirteci ile belirtilmiştir. ()
Türün değeri genellikle F# programlamada dil söz dizimi tarafından bir değerin gerekli olduğu ancak herhangi bir değer gerektirilen veya istenen bir yeri unit tutmak için kullanılır. Bir işlevin dönüş değeri örnek printf olabilir. işlevinin önemli printf eylemleri işlevde oluştuğu için işlevin gerçek bir değer dönmesine gerek yoktur. Bu nedenle, dönüş değeri unit türündedir.
Bazı yapılar bir değer unit bekler. Örneğin, bir do bağlamanın veya modülün en üst düzeyindeki herhangi bir kodun bir değer olarak değerlendirmesi unit beklenir. Aşağıdaki örnekte gösterildiği gibi, bir modülün en üst düzeyindeki bir bağlama veya kod kullanılmadan başka bir sonuç ürettiğinde derleyici bir do unit uyarı raporlar.
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 bir işlev çağrısının tek sonucudur. Bu nedenle, sonuç yoksayılırsa olası bir programlama hatasıdır. F# tamamen işlevsel bir programlama dili olsa da, mümkün olan her durumda işlevsel programlama stilini takip etmek iyi bir uygulamadır.