Değerleri depolamak için değişkenleri kullanma

Tamamlandı

Tüm programlar genellikle programın veriler üzerinde çalıştığı birçok adımdan oluşur. Tüm bu adımları çalıştırmanın bir parçası olarak, aralıklı sonuç olan verileri adlandırılmış başvuruda depolamak yaygın bir işlemdir. Daha sonra verileri okuyabilir veya işleyebilirsiniz. Adlandırılmış başvurular genellikle değişken olarak adlandırılır.

Değişkenler, bir değer bağlama

Değişkenler, kodunuzda başvurmaya devam etmek istediğiniz bir değere bağlı adlandırılmış başvurulardır. F# dilinde bir değeri bağlama olarak düşünülüyor. Bu nedenle, yaptığınız şey adlandırılmış başvuruya bir değer atamak veya bağlamaktır. Bir değeri bağlamak için, aşağıdaki kodda let olduğu gibi, başvurunuzun adı olan anahtar sözcüğünü kullanır ve buna bir değer atarsınız:

let name = "Chris"

name adlandırılmış başvurudur ve "Chris" ilişkili değeridir.

Bir değer bir değişkene atandıktan sonra değiştirilemez, sabittir. Aşağıdaki kod derlenmez ve "FS0027 hatası: Bu değer değiştirilebilir değil" gibi bir hata üretir.

let name = "Chris"
name <- "Luis" // not allowed

Değiştirilebilir hale getirin

Değişkenleri değiştirebilirsiniz, ancak bunları değişebilir hale getirmek istediğinize dair sinyal vermeniz gerekir. Değişken tanımınızda anahtar sözcüğünü mutable kullanarak, aşağıdaki kodda olduğu gibi bir derleme hatası olmadan bir değeri değiştirebilirsiniz:

let mutable name = "Chris"
name <- "Luis" // this statement is now allowed

Değişken türleri

F# dilinde farklı türlerden oluşan bir aralık vardır. Türlerin çoğunun, farklı boyutlardaki sayıların ondalıklarla veya ondalık olmadan depolanmasıyla ilgili olması gerekir. Diğer türler metin dizesi veya Boole değişkenleriyle ilişkilendirilir. F# öğrenmeye başladığınızda karşılaşabileceğiniz türlerin listesi aşağıdadır.

Türü Açıklama
ikili olası değerler true veya false
int -2.147.483.648 ile 2.147.483.647 arası değerler.
Dize Unicode metni
float, double 64 bit kayan nokta türü.

Tür çıkarılır

Bir değişken bildirdiğinizde, bunu türle veya tür olmadan yapabilirsiniz. Bir değişken bildirirken bir tür sağlamazsanız, F# derleyicisi değişkene atadığınız değere göre türün ne olması gerektiği konusunda en iyi tahminde bulunur. Aşağıdaki deyimleri göz önünde bulundurun:

let age = 65 // int
let PI = 3.14 // float
let name = "my name" // string

Derleyici , türlerin ne olması gerektiğini çıkarsar ve doğru olur. Ayrıca, türün ne olmasını istediğiniz konusunda daha açık olabilirsiniz. Veri atamak için, aşağıdaki kodda olduğu gibi söz dizimini variableName:<type>kullanırsınız:

let sum:float = 0.0

Genellikle ekrana yazdırabilmek istersiniz. Aşağıdakiler gibi çeşitli nedenlerle olabilir:

  • Uygulama çıkışı: Uygulama bir tür hesaplama yapıyor ve çıkışı görmek istiyorsunuz.
  • Hata ayıklama: Kodunuzun hatalarını ayıklamanın bir parçası olarak, neyin yanlış gittiğini anlamak için belirli bir noktada sonucun çıktısını oluşturmanız gerekebilir.

Ekrana çıkış yapmak istemenin başka nedenleri de vardır, ancak önceki iki senaryo en yaygın senaryodur.

Peki ekrana nasıl yazdırırsınız? F# dilinde kullanabileceğiniz üç farklı işlev vardır. Bunlar printf, printfnve hatta Console.WriteLine. Peki ne fark var?

  • printf: Satır içi olarak yazdırılır stdout (yeni satır karakteri olmaz).
  • printfn: Yeni satır karakteri eklemek için stdout yazdırılır.
  • Console.WriteLine: Bu işlev ad alanındandır System ve tüm .NET dillerinde çalışır.

Şimdi farkı biliyorsunuz ama hangisini kullanmalısınız? printfprintfn F# dilinde daha idiyotik ve tercih edilir.

Biçimlendirme

Ekrana yazdırmanın bir parçası olarak, metin ve sayıları birleştirmek isteyebilirsiniz. İsterseniz çıkışın belirli bir şekilde biçimlendirilmesi de isteyebilirsiniz; örneğin:

  • Konumsal bağımsız değişkenler: Biçimlendirmek için gibi konumsal bağımsız değişkenleri String.Format("My name is {0} and I live in {1}", "Chris", "UK")kullanan gibi String.Formatbir .NET işlevi kullanabilirsiniz.

  • Dize ilişkilendirmesi: Değişkenleri ve metni birleştirmenin bir diğer yolu da ilişkilendirme adı verilen bir şey kullanmaktır. Bunu kullanmak için dizenin önüne bir $ işaret eklemeniz ve köşeli ayraç {}içeren yer tutucuları belirtmeniz gerekir. aşağıda ilişkilendirmeyi kullanma örneği verilmiştir:

    let name = "Luis"
    let company = "Microsoft"
    printfn $"Name: {name}, Company: {company}"
    

    Köşeli ayraçların arasına ifadeler de ekleyebilirsiniz, örneğin:

    let firstNumber = 2000
    let secondNumber = 21
    printfn $"The year is: {firstNumber + secondNumber}"
    

    Dekont

    İlişkilendirme kullanılarak tür denetimi yapılmaz, bu nedenle kullanımı kolay görünebilir. Her şeyi doğru bir şekilde birleştirin.

  • Tanımlayıcılar: Yazdırmaya çalıştığınız şeyin bir parçası olarak biçim tanımlayıcılarını da kullanabilirsiniz. Tanımlayıcıları kullanmak, F# dilinde biçimlendirmek için en yaygın kullanılan yöntemdir. Bir örnek aşağıda verilmiştir:

    let name = "Chris"
    printf "Hi %s" name
    // prints: Hi Chris
    

    Burada biçimlendiricinin %s ilk dizeyi değişkeniyle namekarıştırmak için nasıl kullanıldığını görebilirsiniz.

    Dekont

    %s veya %i gibi biçimlendiriciler kullandığınızda, derleyici türleri denetler. Konumsal bağımsız değişkeniniz belirttiğiniz türde değilse hata oluşturur.

Biçim tanımlayıcıları

Birçok biçim tanımlayıcısı vardır. İşte karşılaşabileceğiniz bazı şeyler.

Belirleyici Açıklama Örnek
%s Dizeler ve manzarasız içerik için kullanılır printf "Hello %s" name
%d, %i Ondalık tamsayı olarak biçimlendirilmiş, temel tamsayı türü imzalanmışsa imzalı printf "Yaş: %i" 65
%b Boole true veya false printf "Ayar açık: %b" true

Biçimlendirme hakkında daha fazla bilgi vardır. Tüm özellikler hakkında bilgi edinmek istiyorsanız F# belgesindeki biçimlendirmeye bakın.