String uzunluğu
- Rust kursu
- Başlangıç
- Ders 23/115
- 4 dk
len, is_empty ve chars metotlarıyla string hakkında bilgi alırsın.
String uzunluğu
len() karakter değil bayt sayısını verir. Türkçe harfler UTF-8'de 2 bayttır; karakter sayısı için chars().count() kullanılır:
let s = "çay";
println!("{}", s.len()); // 4
println!("{}", s.chars().count()); // 3
println!("{}", "".is_empty()); // trueBu yüzden Rust s[0] gibi tam sayı dizinlemeye izin vermez: bir bayt bir karakterin ortası olabilir.
chars ve bytes
chars() metni Unicode karakterlerine, bytes() ise ham baytlara ayırır. N'inci karakteri almak için chars().nth(n) kullanılır; bu bir Option<char> döner çünkü metin kısa olabilir:
let s = "Gölge";
println!("{:?}", s.chars().nth(1)); // Some('ö')
println!("{:?}", s.bytes().nth(1)); // Some(195) – ö'nün ilk baytı
println!("{:?}", s.chars().nth(9)); // NoneUygulama Bayt ve karakter
let s = "Gölge"; için s.len(), s.chars().count() ve s.chars().nth(1) değerlerini println!("{} {} {:?}", ...) ile yazdır.
Başlangıç kodu
fn main() {
// buraya yaz
}Örnek çözüm
fn main() {
let s = "Gölge";
println!("{} {} {:?}", s.len(), s.chars().count(), s.chars().nth(1));
}Beklenen çıktı
6 5 Some('ö')
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>"ğğ".len()</code> kaçtır?
- 1
- 8
- 4 Doğru cevap
- 2
Açıklama: ğ UTF-8'de 2 bayttır; iki ğ 4 bayt eder. Karakter sayısı chars().count() ile 2'dir.
2 Karakter say
let n = "ışık".chars().____(); // 4
let n = "ışık".chars().count(); // 4
Açıklama: chars().count() karakter sayısını verir; len bayt sayar.
3 İfade ve sonuç ("çay")
| Kavram | Anlamı |
|---|---|
len() |
4 |
chars().count() |
3 |
chars().nth(0) |
Some('ç') |
is_empty() |
false |