Aracılığıyla paylaş


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şkilendirme anlamına gelir. anahtar let 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. İntegral veya kayan nokta sayısı gibi ilkel bir tür için tür, değişmez değerin türünden belirlenir. Bu nedenle, önceki örnekte, derleyici türünü b olarak unsigned intçıkarsarken, derleyici türü a olarak intçıkartır. İş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ğerler türleri hakkında daha fazla bilgi için bkz. Değişmez değerler.

Derleyici, kullanılmayan bağlamalar hakkında varsayılan olarak 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'nin 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 öncelik vermesini ş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, bazen bir değişkenin başka bir işleve geçirildiğinde değiştirilip değiştirilmeyebileceğini söylemek zor olabilir.

Saf işlevsel dillerde değişken yoktur ve işlevler kesinlikle matematiksel işlevler olarak 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 anlamasını ve 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 bir tür alanı veya yerel değer olarak sınırlı bir kapsama sahip olması gerekir. 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 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ı Değerlere ve işlevlere ad 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 bakınız