Visual Studio Code'da F# kullanmaya başlama
F# dilinde kod yazmak için Visual Studio Code ve Ionide eklentisini kullanarak; IntelliSense ve kod yeniden düzenleme özellikleri sunan, harika bir platformlar arası ve hafif bir IDE deneyimi elde edebilirsiniz. Eklenti hakkında daha fazla bilgi edinmek için Ionide.io ziyaret edin.
Not
Başlamadan önce hem F# hem de Ionide eklentisiniyüklediğinizden 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 senaryonuzu yazın
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. MyFirstScript.fsxolarak adlandır.
Ş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 Latinbiç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 Entertuşuna basın. Ekranın alt kısmında bir terminal penceresi olduğunu göreceksiniz ve şuna benzer görünmelidir:
ile F# Etkileşimli çıktı örneği
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şleviolduğ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 ;;
, kodun ne zaman bittiğini FSI'ye bildirir.
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, toPigLatin
bir string
giriş olarak alan (word
olarak adlandırılır) ve başka bir string
döndüren bir işlev olduğunu belirtir. Bu, F# kodunu anlamada önemli olan temel bir F# parçası olanişlevinin
İşlevin gövdesinde iki farklı bölüm göreceksiniz:
belirli bir karakterin (
c
) Desen Eşleştirmearacılığıyla sağlanan desenlerden biriyle eşleşip eşleşmediğini denetleyerek bir sesli harf olup olmadığını belirleyenisVowel
adlı iç işlev:let isVowel (c: char) = match c with | 'a' | 'e' | 'i' | 'o' | 'u' | 'A' | 'E' | 'I' | 'O' | 'U' -> true |_ -> false
İ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 bir
if..then..else
ifadesi: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, ilk karakteri sözcüğün sonuna taşıyın ve ardından "ay" ekleyin.
Bu konuda dikkate alınacak son bir şey vardır: F# dilinde işlevden dönüş için açık bir talimat yoktur. Bunun nedeni F# ifadesinin tabanlı olması ve işlevin gövdesinde değerlendirilen son ifadenin bu işlevin dönüş değerini belirlemesidir.
if..then..else
kendisi bir ifade olduğundan, then
bloğunun gövdesinin veya else
bloğunun gövdesinin değerlendirilmesi, toPigLatin
işlevi tarafından 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 tabanlı geliştirme olarak bilinir, burada REPL "Okuma-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, PigLatin
adlı yeni bir module
oluşturun ve daha önce oluşturduğunuz toPigLatin
işlevini şu şekilde kopyalayın:
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 main
işlevinin üzerinde ve open System
bildiriminin 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 main
işlevinde, 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.
- Ionide komutlarından hiçbiri çalışmıyorsa, Visual Studio Code tuş atamalarınızı kontrol ederek bunları yanlışlıkla geçersiz kılmadığınızdan emin olun.
- Ionide makinenizde bozuksa ve yukarıdakilerden hiçbiri sorununuzu çözmediyse makinenizdeki
ionide-fsharp
dizinini kaldırmayı deneyin ve eklenti paketini yeniden yükleyin. - Bir proje yüklenemediyse (F# Çözüm Gezgini bunu gösterecektir), söz konusu 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 deposunakatkıda bulunun.
Sonraki adımlar
F# ve dilin özellikleri hakkında daha fazla bilgi edinmek için bkz. F# Turu.