F # - String
Di F #, tipe string mewakili teks yang tidak dapat diubah sebagai urutan karakter Unicode.
String Literals
Literal string dibatasi oleh karakter tanda kutip (").
Beberapa karakter khusus ada untuk penggunaan khusus seperti baris baru, tab, dll. Mereka dikodekan menggunakan karakter garis miring terbalik (\). Karakter backslash dan karakter terkait membuat urutan escape. Tabel berikut menunjukkan urutan escape yang didukung oleh F #.
Karakter | Urutan pelarian |
---|---|
Menghapus | \ b |
Garis baru | \ n |
Kereta kembali | \ r |
Tab | \ t |
Garis miring terbalik | \\ |
Tanda kutip | \ " |
Apostrof | \ ' |
Karakter unicode | \ uXXXX atau \ UXXXXXXXX (X menunjukkan digit heksadesimal) |
Cara mengabaikan Escape Sequence
Dua cara berikut membuat compiler mengabaikan escape sequence -
- Menggunakan simbol @.
- Mengapit string dalam tanda kutip tiga.
Jika literal string diawali dengan simbol @, ini disebut a verbatim string. Dengan cara itu, semua escape sequence dalam string diabaikan, kecuali dua karakter tanda petik diinterpretasikan sebagai satu karakter tanda petik.
Ketika sebuah string diapit oleh tanda kutip tiga, maka semua urutan pelolosan juga diabaikan, termasuk karakter tanda kutip ganda.
Contoh
Contoh berikut menunjukkan teknik ini yang menunjukkan cara bekerja dengan XML atau struktur lain yang menyertakan tanda kutip tersemat -
// Using a verbatim string
let xmldata = @"<book author = ""Lewis, C.S"" title = ""Narnia"">"
printfn "%s" xmldata
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
<book author = "Lewis, C.S" title = "Narnia">
Operator Dasar pada String
Tabel berikut menunjukkan operasi dasar pada string -
Nilai | Deskripsi |
---|---|
kumpulkan: (char → string) → string → string | Membuat string baru yang karakternya merupakan hasil penerapan fungsi tertentu ke setiap karakter dari string masukan dan menggabungkan string yang dihasilkan. |
concat: string → seq <string> → string | Mengembalikan string baru yang dibuat dengan menggabungkan string yang diberikan dengan pemisah. |
ada: (char → bool) → string → bool | Menguji apakah ada karakter dari string yang memenuhi predikat yang diberikan. |
forall: (char → bool) → string → bool | Menguji apakah semua karakter dalam string memenuhi predikat yang diberikan. |
init: int → (int → string) → string | Membuat string baru yang karakternya merupakan hasil penerapan fungsi tertentu ke setiap indeks dan menggabungkan string yang dihasilkan. |
iter: (char → unit) → string → unit | Menerapkan fungsi tertentu untuk setiap karakter dalam string. |
iteri: (int → char → unit) → string → unit | Menerapkan fungsi tertentu ke indeks setiap karakter dalam string dan karakter itu sendiri. |
panjang: string → int | Mengembalikan panjang string. |
peta: (char → char) → string → string | Membuat string baru yang karakternya merupakan hasil penerapan fungsi tertentu ke setiap karakter string input. |
mapi: (int → char → char) → string → string | Membuat string baru yang karakternya merupakan hasil penerapan fungsi tertentu ke setiap karakter dan indeks string input. |
replikasi: int → string → string | Mengembalikan string dengan menggabungkan sejumlah instance string tertentu. |
Contoh berikut menunjukkan penggunaan beberapa fungsi di atas -
Contoh 1
Fungsi String.collect membangun string baru yang karakternya merupakan hasil penerapan fungsi yang ditentukan ke setiap karakter dari string input dan menggabungkan string yang dihasilkan.
let collectTesting inputS =
String.collect (fun c -> sprintf "%c " c) inputS
printfn "%s" (collectTesting "Happy New Year!")
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
H a p p y N e w Y e a r !
Contoh 2
Fungsi String.concat menggabungkan urutan string tertentu dengan pemisah dan mengembalikan string baru.
let strings = [ "Tutorials Point"; "Coding Ground"; "Absolute Classes" ]
let ourProducts = String.concat "\n" strings
printfn "%s" ourProducts
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
Tutorials Point
Coding Ground
Absolute Classes
Contoh 3
Metode String.replicate mengembalikan string dengan menggabungkan sejumlah instance string yang ditentukan.
printfn "%s" <| String.replicate 10 "*! "
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
*! *! *! *! *! *! *! *! *! *!