Dilim sözdizimi
- Rust kursu
- Başlangıç
- Ders 55/115
- 4 dk
[a..b] ve [a..] dilim sözdizimini öğrenirsin.
Dilim sözdizimi
Aralığın uçları atlanabilir:
let s = "abcdef";
&s[..3] // "abc" (baştan 3'e kadar)
&s[3..] // "def" (3'ten sona)
&s[..] // "abcdef" (tamamı)
&s[1..=2] // "bc" (2 dahil)a..b b'yi dışarıda bırakır, a..=b dahil eder. &s[..] bir String'i &str'ye çevirmenin bir yoludur.
Sınır denetimi
Sınırların dışına çıkmak panic verir: &"abc"[1..5] "byte index 5 is out of bounds" hatasıyla durur. Başlangıç bitişten büyükse de panic olur. Panic istemiyorsan get kullan; Option döner:
let s = "abc";
println!("{:?}", s.get(0..2)); // Some("ab")
println!("{:?}", s.get(1..5)); // NoneUygulama Üç dilim
let s = "abcdef"; için &s[..3], &s[3..] ve &s[1..=2] dilimlerini boşlukla ayırarak tek satırda yazdır.
Başlangıç kodu
fn main() {
// buraya yaz
}Örnek çözüm
fn main() {
let s = "abcdef";
println!("{} {} {}", &s[..3], &s[3..], &s[1..=2]);
}Beklenen çıktı
abc def bc
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>&"abcdef"[2..=4]</code> nedir?
- "bcde"
- "cde" Doğru cevap
- "cd"
- "bcd"
Açıklama: 2, 3 ve 4. baytlar alınır: c, d, e.
2 Sona kadar
let s = "abcdef";
let son = &s[____]; // "def"
let s = "abcdef";
let son = &s[3..]; // "def"
Açıklama: 3.. aralığı 3. bayttan sona kadar gider.
3 Aralık ve "abcdef" sonucu
| Kavram | Anlamı |
|---|---|
[..3] |
"abc" |
[3..] |
"def" |
[1..=2] |
"bc" |
[..] |
"abcdef" |