CodeBlanks Logo Icon CodeBlanks

Özet - Stringler

String ve &str'yi birleştirerek bir karşılama mesajı üretirsin.

Stringler özeti

&str ödünç ve değiştirilemez; String sahip olunan ve büyüyebilir. Oluşturma: String::from, to_string, String::with_capacity. Ekleme: push_str, push, +=, + (sol tarafın sahipliğini alır). Biçimleme: format!. Uzunluk: len bayt, chars().count() karakter sayar.

Büyük/küçük harf ve boşluk

Sık kullanılan yöntemler yeni bir değer döndürür; asıl metni değiştirmez:

let s = "  Merhaba Rust  ";
println!("[{}]", s.trim());          // [Merhaba Rust]
println!("{}", s.to_uppercase());     //   MERHABA RUST
println!("{}", s.contains("Rust"));   // true
println!("{}", s.replace("Rust", "Go"));

to_uppercase Unicode kurallarını uygular: "ş".to_uppercase() → "Ş".

Uygulama Temizle ve büyüt

fn temizle(s: &str) -> String yaz: baştaki/sondaki boşlukları trim ile atsın ve to_uppercase ile büyütsün. temizle(" şeker ") sonucunu ve uzunluğunu (len) yazdır.

Başlangıç kodu

main.rs
fn main() {
    // buraya yaz
}

Örnek çözüm

main.rs
fn temizle(s: &str) -> String {
    s.trim().to_uppercase()
}

fn main() {
    let t = temizle("  şeker  ");
    println!("{} {}", t, t.len());
}

Beklenen çıktı

ŞEKER 6

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>let s = String::from("Rust"); let k = &amp;s[0..1];</code> ile k nedir?

  • Derleme hatası
  • "R" (&str) Doğru cevap
  • 'R' (char)
  • 82

Açıklama: Bayt aralığıyla dilimleme bir &str verir; aralık bir karakterin ortasına düşerse çalışma anında panic olur.

2 Boşlukları kırp

Soru
let girdi = "  42 \n";
let temiz = girdi.____();  // "42"
Cevap
let girdi = "  42 \n";
let temiz = girdi.trim();  // "42"

Açıklama: trim baştaki ve sondaki boşlukları ve satır sonlarını atar.

3 Grubun özeti

Kavram Anlamı
&str Ödünç görünüm
String Sahip olunan metin
format! Biçimli String
chars().count() Karakter sayısı

Başlangıç bölümündeki tüm dersler

16 Proje: Yapılacaklar listesi

  1. Görev modeli
  2. Ekleme
  3. Listeleme
  4. İşaretleme
  5. Komut okuma