Değerler

F# içindeki değerler, belirli bir türe sahip olan miktarlardır; değerler tam sayı veya kayan noktalı sayılar, karakterler veya metin, listeler, diziler, diziler, tanımlama kümeleri, ayrımcı birleşimler, kayıtlar, sınıf türleri veya işlev değerleri olabilir.

Değer Bağlama

Bağlama terimi, bir adı bir tanımla ilişkilendirmek anlamına gelir. let anahtar sözcüğü, aşağıdaki örneklerde olduğu gibi bir değer bağlar:

let a = 1
let b = 100u
let str = "text"

// A function value binding.

let f x = x + 1

Bir değerin türü tanımdan çıkarılır. Tam sayı veya kayan nokta sayısı gibi temel bir tür için, tür değişmez değerin türünden belirlenir. Bu nedenle, önceki örnekte, derleyici türü b olarak unsigned intçıkarsarken, derleyici türü olarak intçıkarsara. İşlev değerinin türü, işlev gövdesindeki dönüş değerinden belirlenir. İşlev değeri türleri hakkında daha fazla bilgi için bkz . İşlevler. Değişmez değer türleri hakkında daha fazla bilgi için bkz. Değişmez değerler.

Derleyici varsayılan olarak kullanılmayan bağlamalar hakkında tanılama yapmaz. Bu iletileri almak için proje dosyanızda veya derleyiciyi çağırırken uyarı 1182'yi etkinleştirin (bkz --warnon . Derleyici Seçenekleri altında).

Neden sabit?

Sabit değerler, bir programın yürütülmesi boyunca değiştirilemeyen değerlerdir. C++, Visual Basic veya C# gibi dillere alışkınsanız, F# öğesinin bir programın yürütülmesi sırasında yeni değerler atanabilecek değişkenler yerine sabit değerlere primasi koymasını şaşırtıcı bulabilirsiniz. Sabit veriler, işlevsel programlamanın önemli bir öğesidir. Çok iş parçacıklı bir ortamda, birçok farklı iş parçacığı tarafından değiştirilebilen paylaşılan değiştirilebilir değişkenleri yönetmek zordur. Ayrıca, değiştirilebilir değişkenlerle, bir değişkenin başka bir işleve geçirildiğinde değiştirilip değiştirilebileceğini söylemek zor olabilir.

Saf işlevsel dillerde değişken yoktur ve işlevler kesinlikle matematik işlevleri gibi davranır. Yordam dilindeki kodun bir değeri değiştirmek için değişken ataması kullandığı durumlarda, işlev dilindeki eşdeğer kod giriş, sabit bir işlev ve çıkış olarak farklı sabit değerler olan sabit bir değere sahiptir. Bu matematiksel katılık, programın davranışı hakkında daha sıkı bir mantık yürütmeye olanak tanır. Bu daha sıkı mantık, derleyicilerin kodu daha sıkı denetlemesine ve daha etkili bir şekilde iyileştirmesine olanak tanır ve geliştiricilerin doğru kodu anlayıp yazmasını kolaylaştırır. Bu nedenle işlevsel kodun hata ayıklaması normal yordam kodundan daha kolay olabilir.

F# saf işlevsel bir dil değildir, ancak işlevsel programlamayı tam olarak destekler. Sabit değerleri kullanmak iyi bir uygulamadır çünkü bunu yapmak kodunuzun işlevsel programlamanın önemli bir özelliğinden yararlanmasını sağlar.

Değiştirilebilir Değişkenler

Değiştirilebilen bir değişken belirtmek için anahtar sözcüğünü mutable kullanabilirsiniz. F# dilindeki değiştirilebilir değişkenlerin genellikle türün alanı veya yerel değer olarak sınırlı bir kapsamı olmalıdır. Sınırlı kapsamlı değiştirilebilir değişkenlerin denetimi daha kolaydır ve yanlış yollarla değiştirilme olasılığı daha düşüktür.

Anahtar sözcüğünü bir değeri tanımladığınız gibi kullanarak let değiştirilebilir bir değişkene başlangıç değeri atayabilirsiniz. Ancak fark, aşağıdaki örnekte olduğu gibi işlecini <- kullanarak daha sonra değiştirilebilir değişkenlere yeni değerler atayabilmenizdir.

let mutable x = 1
x <- x + 1

İşaretlenen mutable değerler, kapanış tarafından yakalanırsa, oluşturucular gibi kapanışlar oluşturan formlar da dahil olmak üzere otomatik olarak seq olarak yükseltilebilir'a ref. Bu durum oluştuğunda bildirim almak isterseniz, proje dosyanızda veya derleyiciyi çağırırken uyarı 3180'i etkinleştirin.

Başlık Açıklama
let Bağlamaları Adları değerlere ve işlevlere bağlamak için anahtar sözcüğünü let kullanma hakkında bilgi sağlar.
İşlevler F# dilindeki işlevlere genel bir bakış sağlar.

Ayrıca bkz.