Visual Studio Code’da F# Kullanmaya Başlama
IntelliSense ve kod yeniden düzenlemeleriyle harika bir platformlar arası, basit Tümleşik Geliştirme Ortamı (IDE) deneyimi elde etmek için Visual Studio Code'da Ionide eklentisiyleF# yazabilirsiniz. Eklenti hakkında daha fazla bilgi edinmek için Ionide.io adresini ziyaret edin.
Başlamak için F# ve Ionide eklentisinin doğru yüklendiğinden emin olun.
Ionide ile ilk projenizi oluşturma
Yeni bir F# projesi oluşturmak için bir komut satırı açın ve .NET CLI ile yeni bir proje oluşturun:
dotnet new console -lang "F#" -o FirstIonideProject
İşlem tamamlandıktan sonra dizini projeye değiştirin ve Visual Studio Code'ı açın:
cd FirstIonideProject
code .
Proje Visual Studio Code'da yüklendikten sonra pencerenizin sol tarafında F# Çözüm Gezgini bölmesinin açık olduğunu görmeniz gerekir. Bu, Ionide'ın az önce oluşturduğunuz projeyi başarıyla yüklediği anlamına gelir. Bu noktadan önce düzenleyicide kod yazabilirsiniz, ancak bu gerçekleştiğinde her şeyin yüklenmesi tamamlanmıştır.
İlk betiğinizi yazma
Visual Studio Code'u .NET Core betiği kullanacak şekilde yapılandırdıktan sonra, Visual Studio Code'da Gezgin görünümüne gidin ve yeni bir dosya oluşturun. Buna MyFirstScript.fsx adını verin.
Şimdi aşağıdaki kodu ekleyin:
let toPigLatin (word: string) =
let isVowel (c: char) =
match c with
| 'a' | 'e' | 'i' | 'o' | 'u'
| 'A' | 'E' | 'I' | 'O' | 'U' -> true
|_ -> false
if isVowel word[0] then
word + "yay"
else
word[1..] + string(word[0]) + "ay"
Bu işlev bir sözcüğü Pig Latin biçimine dönüştürür. Sonraki adım, F# Etkileşimli (FSI) kullanarak değerlendirmektir.
İşlevin tamamını vurgulayın (11 satır uzunluğunda olmalıdır). Vurgulandıktan sonra Alt tuşunu basılı tutun ve Enter tuşuna basın. Ekranın alt kısmında bir terminal penceresi olduğunu göreceksiniz ve şuna benzer görünmelidir:
Bu işlem üç şey yaptı:
- FSI işlemini başlattı.
- Üzerinde vurguladığınız kodu FSI işlemine gönderdi.
- FSI işlemi, gönderdiğiniz kodu değerlendirdi.
Gönderdiğiniz şey bir işlev olduğundan, artık bu işlevi FSI ile çağırabilirsiniz! Etkileşimli pencerede aşağıdakileri yazın:
toPigLatin "banana";;
Aşağıdaki sonucu görmeniz gerekir:
val it: string = "ananabay"
Şimdi ilk harf olarak bir sesli harf deneyelim. Aşağıdakileri girin:
toPigLatin "apple";;
Aşağıdaki sonucu görmeniz gerekir:
val it: string = "appleyay"
İşlev beklendiği gibi çalışıyor gibi görünüyor. Tebrikler, Visual Studio Code'da ilk F# işlevinizi yazdınız ve FSI ile değerlendirdiniz!
Not
Fark etmiş olabileceğiniz gibi, FSI'daki satırlar ile ;;
sonlandırılır. Bunun nedeni FSI'nin birden çok satır girmenize izin vermesidir. sonundaki ;;
, FSI'nin kodun ne zaman bittiğini bilmesini sağlar.
Kodu açıklama
Kodun gerçekte ne yaptığı hakkında emin değilseniz, işte adım adım.
Gördüğünüz gibi, toPigLatin
bir sözcüğü girişi olarak alan ve bu sözcüğün Pig-Latin gösterimine dönüştüren bir işlevdir. Bunun kuralları şunlardır:
Bir sözcükteki ilk karakter sesli harfle başlıyorsa, sözcüğün sonuna "yay" ekleyin. Sesli harfle başlamıyorsa, bu ilk karakteri sözcüğün sonuna taşıyın ve "ay" ekleyin.
FSI'da aşağıdakileri fark etmiş olabilirsiniz:
val toPigLatin: word: string -> string
Bu, girişi olarak alan (adlıword
) ve başka string
bir döndüren bir string
işlev olduğunu belirtirtoPigLatin
. Bu, işlevin tür imzası olarak bilinir ve F# kodunu anlamanın anahtarı olan temel bir F# parçasıdır. Visual Studio Code'da işlevin üzerine geldiğinizde de bunu fark edeceksiniz.
İşlevin gövdesinde iki farklı bölüm göreceksiniz:
Verilen karakterin (
c
) desen eşleştirme yoluyla sağlanan desenlerden biriyle eşleşip eşleşmediğini denetleyerek sesli harf olup olmadığını belirleyen adlıisVowel
bir iç işlev:let isVowel (c: char) = match c with | 'a' | 'e' | 'i' | 'o' | 'u' | 'A' | 'E' | 'I' | 'O' | 'U' -> true |_ -> false
if..then..else
İlk karakterin sesli harf olup olmadığını denetleyen ve ilk karakterin sesli harf olup olmadığını temel alarak giriş karakterlerinden bir dönüş değeri oluşturan ifade:if isVowel word[0] then word + "yay" else word[1..] + string(word[0]) + "ay"
toPigLatin
Akışı şu şekildedir:
Giriş sözcüğünün ilk karakterinin sesli harf olup olmadığını denetleyin. Varsa, sözcüğün sonuna "yay" ekleyin. Aksi takdirde, bu ilk karakteri sözcüğün sonuna taşıyın ve "ay" ekleyin.
Bu konuda dikkate alınacak son bir şey vardır: F# dilinde işlevden döndürülecek açık bir yönerge yoktur. Bunun nedeni F# ifadesinin tabanlı olması ve işlevin gövdesinde değerlendirilen son ifadenin bu işlevin dönüş değerini belirlemesidir. Kendisi if..then..else
bir ifade olduğundan, bloğun gövdesinin then
veya bloğun gövdesinin else
değerlendirilmesi işlev tarafından toPigLatin
döndürülen değeri belirler.
Konsol uygulamasını Pig Latin oluşturucuya dönüştürme
Bu makaledeki önceki bölümlerde, F# kodu yazmanın yaygın bir ilk adımı gösterilmiştir: bir ilk işlev yazma ve FSI ile etkileşimli olarak yürütme. Bu, REPL temelli geliştirme olarak bilinir ve BURADA REPL "Read-Evaluate-Print Döngüsü" anlamına gelir. Çalışan bir şey bulana kadar işlevsellikle denemeler yapmak için harika bir yoldur.
REPL temelli geliştirmenin bir sonraki adımı, çalışma kodunu bir F# uygulama dosyasına taşımaktır. Daha sonra F# derleyicisi tarafından yürütülebilen bir derlemede derlenebilir.
Başlamak için daha önce .NET CLI ile oluşturduğunuz Program.fs dosyasını açın. Bazı kodların zaten orada olduğunu fark edeceksiniz.
Ardından adlı PigLatin
yeni module
bir ad oluşturun ve daha önce oluşturduğunuz işlevi bu işleve şu şekilde kopyalayıntoPigLatin
:
module PigLatin =
let toPigLatin (word: string) =
let isVowel (c: char) =
match c with
| 'a' | 'e' | 'i' | 'o' | 'u'
| 'A' | 'E' | 'I' | 'O' | 'U' -> true
|_ -> false
if isVowel word[0] then
word + "yay"
else
word[1..] + string word[0] + "ay"
Bu modül işlevin main
üzerinde ve bildirimin open System
altında olmalıdır. Bildirimlerin sırası F# dilinde önemlidir, bu nedenle işlevi bir dosyada çağırmadan önce tanımlamanız gerekir.
Şimdi işlevinde main
, bağımsız değişkenler üzerinde Pig Latin oluşturucu işlevinizi çağırın:
[<EntryPoint>]
let main args =
for arg in args do
let newArg = PigLatin.toPigLatin arg
printfn "%s in Pig Latin is: %s" arg newArg
0
Artık konsol uygulamanızı komut satırından çalıştırabilirsiniz:
dotnet run apple banana
Betik dosyanızla aynı sonucun geldiğini göreceksiniz, ancak bu kez çalışan bir program olarak!
İyonit Sorunlarını Giderme
Karşılaşabileceğiniz bazı sorunları gidermenin birkaç yolu şunlardır:
- Ionide'ın kod düzenleme özelliklerini almak için F# dosyalarınızın diske ve Visual Studio Code çalışma alanında açık olan bir klasörün içine kaydedilmesi gerekir.
- Sisteminizde değişiklikler yaptıysanız veya Visual Studio Code açıkken Ionide önkoşullarını yüklediyseniz Visual Studio Code'u yeniden başlatın.
- Proje dizinlerinizde geçersiz karakterler varsa Ionide çalışmayabilir. Böyle bir durumda proje dizinlerinizi yeniden adlandırın.
- İyonide komutlarından hiçbiri çalışmıyorsa Visual Studio Code Anahtar Bağlamalarınızı denetleyerek bunları yanlışlıkla geçersiz kılıp kılmadığınızı denetleyin.
- Ionide makinenizde bozuksa ve yukarıdakilerden hiçbiri sorununuzu çözmediyse, makinenizdeki dizini kaldırmayı
ionide-fsharp
ve eklenti paketini yeniden yüklemeyi deneyin. - Bir proje yüklenemediyse (F# Çözüm Gezgini bunu gösterecektir), bu projeye sağ tıklayın ve daha fazla tanılama bilgisi almak için Ayrıntılara bakın'a tıklayın.
İyonide, F# topluluğunun üyeleri tarafından oluşturulmuş ve sürdürülen açık kaynaklı bir projedir. Sorunları bildirin ve ionide-vscode-fsharp GitHub deposunda katkıda bulunmaktan çekinmeyin.
Ayrıca Ionide gitter kanalındaki Ionide geliştiricilerinden ve F# topluluğundan daha fazla yardım isteyebilirsiniz.
Sonraki adımlar
F# ve dilin özellikleri hakkında daha fazla bilgi edinmek için Bkz . F# Turu.