Mulai menggunakan F# di Visual Studio Code
Anda dapat menulis F# di Visual Studio Code dengan plugin Ionide untuk mendapatkan pengalaman Lintas Platform, Lingkungan Pengembangan Terpadu (IDE) yang ringan dengan IntelliSense dan pemfaktoran ulang kode. Kunjungi Ionide.io untuk mempelajari lebih lanjut tentang plugin.
Nota
Sebelum memulai, pastikan Anda telah menginstal F# dan plugin Ionide.
Buat proyek pertama Anda dengan Ionide
Untuk membuat proyek F# baru, buka baris perintah dan buat proyek baru dengan .NET CLI:
dotnet new console -lang "F#" -o FirstIonideProject
Setelah selesai, ubah direktori ke proyek dan buka Visual Studio Code:
cd FirstIonideProject
code .
Setelah proyek dimuat di Visual Studio Code, Anda akan melihat panel Penjelajah Solusi F# di sisi kiri jendela Anda terbuka. Ini berarti Ionide telah berhasil memuat proyek yang baru saja Anda buat. Anda dapat menulis kode di editor sebelum titik waktu ini, tetapi setelah ini terjadi, semuanya telah selesai dimuat.
Tulis skrip pertama Anda
Setelah Anda mengonfigurasi Visual Studio Code untuk menggunakan skrip .NET Core, navigasikan ke tampilan Explorer di Visual Studio Code dan buat file baru. Beri nama MyFirstScript.fsx.
Sekarang tambahkan kode berikut ke dalamnya:
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"
Fungsi ini mengonversi kata menjadi bentuk Pig Latin. Langkah selanjutnya adalah mengevaluasinya menggunakan F# Interactive (FSI).
Sorot seluruh fungsi (panjangnya harus 11 baris). Setelah disorot, tahan tombol
Ini melakukan tiga hal:
- Ini memulai proses FSI.
- Ini mengirim kode yang Anda sorot ke proses FSI.
- Proses FSI mengevaluasi kode yang Anda kirim.
Karena apa yang Anda kirim adalah fungsi , Anda sekarang dapat memanggil fungsi itu dengan FSI! Di jendela interaktif, ketik yang berikut ini:
toPigLatin "banana";;
Anda akan melihat hasil berikut:
val it: string = "ananabay"
Sekarang, mari kita coba dengan vokal sebagai huruf pertama. Masukkan yang berikut ini:
toPigLatin "apple";;
Anda akan melihat hasil berikut:
val it: string = "appleyay"
Fungsi tampaknya berfungsi seperti yang diharapkan. Selamat, Anda baru saja menulis fungsi F# pertama Anda di Visual Studio Code dan mengevaluasinya dengan FSI!
Nota
Seperti yang mungkin telah Anda perhatikan, baris di FSI diakhiri dengan ;;
. Ini karena FSI memungkinkan Anda memasukkan beberapa baris.
;;
di akhir memberi tahu FSI ketika kode selesai.
Menjelaskan kode
Jika Anda tidak yakin tentang apa yang sebenarnya dilakukan kode, berikut adalah langkah demi langkah.
Seperti yang Anda lihat, toPigLatin
adalah fungsi yang mengambil kata sebagai inputnya dan mengonversinya menjadi representasi Pig-Latin dari kata itu. Aturan untuk ini adalah sebagai berikut:
Jika karakter pertama dalam kata dimulai dengan vokal, tambahkan "yay" ke akhir kata. Jika tidak dimulai dengan vokal, pindahkan karakter pertama tersebut ke akhir kata dan tambahkan "ay" ke dalamnya.
Anda mungkin telah memperhatikan hal-hal berikut di FSI:
val toPigLatin: word: string -> string
Ini menyatakan bahwa toPigLatin
adalah fungsi yang mengambil string
sebagai input (disebut word
), dan mengembalikan string
lain . Ini dikenal sebagai tanda tangan jenis dari fungsi, bagian mendasar dari F# yang merupakan kunci untuk memahami kode F#. Anda juga akan melihat ini jika mengarahkan mouse ke atas fungsi di Visual Studio Code.
Dalam isi fungsi, Anda akan melihat dua bagian yang berbeda:
Fungsi internal, yang disebut
isVowel
, untuk menentukan apakah sebuah karakter (c
) merupakan vokal dengan memeriksa kecocokannya dengan salah satu pola yang disediakan melalui Pencocokan Pola:let isVowel (c: char) = match c with | 'a' | 'e' | 'i' | 'o' | 'u' | 'A' | 'E' | 'I' | 'O' | 'U' -> true |_ -> false
Ekspresi
if..then..else
yang memeriksa apakah karakter pertama adalah vokal, dan membuat nilai pengembalian dari karakter input berdasarkan apakah karakter pertama adalah vokal atau tidak:if isVowel word[0] then word + "yay" else word[1..] + string(word[0]) + "ay"
Dengan demikian, alur toPigLatin
:
Periksa apakah karakter pertama kata input adalah vokal. Jika ya, lampirkan "yay" ke akhir kata. Jika tidak, pindahkan karakter pertama tersebut ke akhir kata dan tambahkan "ay" ke dalamnya.
Ada satu hal terakhir yang perlu diperhatikan tentang hal ini: di F#, tidak ada instruksi eksplisit untuk kembali dari fungsi. Ini karena F# berbasis ekspresi, dan ekspresi terakhir yang dievaluasi dalam isi fungsi menentukan nilai pengembalian fungsi tersebut. Karena if..then..else
itu sendiri adalah ekspresi, evaluasi isi blok then
atau isi blok else
menentukan nilai yang dikembalikan oleh fungsi toPigLatin
.
Mengubah aplikasi konsol menjadi generator Pig Latin
Bagian sebelumnya dalam artikel ini menunjukkan langkah pertama umum dalam menulis kode F#: menulis fungsi awal dan menjalankannya secara interaktif dengan FSI. Ini dikenal sebagai pengembangan berbasis REPL, di mana REPL singkatan dari "Read-Evaluate-Print Loop". Ini adalah cara yang bagus untuk bereksperimen dengan fungsionalitas sampai Anda memiliki sesuatu yang berfungsi.
Langkah selanjutnya dalam pengembangan berbasis REPL adalah memindahkan kode kerja ke dalam file implementasi F#. Kemudian dapat dikompilasi oleh pengkompilasi F# ke dalam rakitan yang dapat dieksekusi.
Untuk memulai, buka file Program.fs
Selanjutnya, buat module
baru yang disebut PigLatin
dan salin fungsi toPigLatin
yang Anda buat sebelumnya ke dalamnya seperti:
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"
Modul ini harus berada di atas fungsi main
dan di bawah deklarasi open System
. Urutan deklarasi penting dalam F#, jadi Anda harus menentukan fungsi sebelum memanggilnya dalam file.
Sekarang, dalam fungsi main
, panggil fungsi generator Pig Latin Anda pada argumen:
[<EntryPoint>]
let main args =
for arg in args do
let newArg = PigLatin.toPigLatin arg
printfn "%s in Pig Latin is: %s" arg newArg
0
Sekarang Anda dapat menjalankan aplikasi konsol dari baris perintah:
dotnet run apple banana
Dan Anda akan melihat bahwa itu menghasilkan hasil yang sama dengan file skrip Anda, tetapi kali ini sebagai program yang sedang berjalan!
Pemecahan masalah Ionide
Berikut adalah beberapa cara untuk memecahkan masalah tertentu yang mungkin Anda alami:
- Untuk mendapatkan fitur pengeditan kode Ionide, file F# Anda perlu disimpan ke disk dan di dalam folder yang terbuka di ruang kerja Visual Studio Code.
- Jika Anda telah membuat perubahan pada sistem atau menginstal prasyarat Ionide dengan Visual Studio Code terbuka, mulai ulang Visual Studio Code.
- Jika Anda memiliki karakter yang tidak valid di direktori proyek, Ionide mungkin tidak berfungsi. Ganti nama direktori proyek Anda jika demikian.
- Jika tidak ada perintah Ionide yang berfungsi, periksa Pengikatan Kunci Visual Studio Code Anda untuk melihat apakah Anda menimpanya secara tidak sengaja.
- Jika Ionide rusak pada komputer Anda dan tidak ada hal di atas yang memperbaiki masalah Anda, coba hapus direktori
ionide-fsharp
di komputer Anda dan instal ulang rangkaian plugin. - Jika proyek gagal dimuat (Penjelajah Solusi F# akan menampilkan ini), klik kanan pada proyek tersebut dan klik Lihat detail untuk mendapatkan info diagnostik lainnya.
Ionide adalah proyek sumber terbuka yang dibangun dan dikelola oleh anggota komunitas F#. Laporkan masalah dan jangan ragu untuk berkontribusi di repositori GitHub ionide-vscode-fsharp.
Anda juga dapat meminta bantuan lebih lanjut dari pengembang Ionide dan komunitas F# di saluran gitter Ionide.
Langkah berikutnya
Untuk mempelajari lebih lanjut tentang F# dan fitur bahasa, lihat Tour of F#.