CodeBlanks Logo Icon CodeBlanks

println! ve formatlama

println! makrosu ve {} yer tutucusuyla değişkenleri yazdırmayı öğrenirsin.

println! ve formatlama

{} yer tutucusu değeri kullanıcıya uygun biçimde, {:?} ise hata ayıklama biçiminde yazar. Değişken adı doğrudan süslü parantez içine yazılabilir:

let ad = "Ada";
let yas = 36;
println!("{} {} yaşında", ad, yas);
println!("{ad} {yas} yaşında");     // aynı sonuç
println!("{:?}", vec![1, 2, 3]);     // [1, 2, 3]

Biçim dizgesi derleme anında denetlenir; yer tutucu ile argüman sayısı uyuşmazsa kod derlenmez.

Genişlik ve hassasiyet

Yer tutucuya biçim seçenekleri eklenir:

let pi = 3.14159;
println!("{:.2}", pi);     // 3.14
println!("[{:>6}]", 42);   // [    42]
println!("[{:<6}]", 42);   // [42    ]
println!("[{:06}]", 42);   // [000042]
println!("{:#?}", (1, "a")); // çok satırlı Debug

format! aynı sözdizimiyle yazdırmak yerine bir String döndürür.

Uygulama Biçimli fiyat

let urun = "Kalem"; ve let fiyat = 12.5; tanımla. Satır içi değişken adlarıyla println!("{urun}: {fiyat:.2} TL"); yazdır.

Başlangıç kodu

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

Örnek çözüm

main.rs
fn main() {
    let urun = "Kalem";
    let fiyat = 12.5;
    println!("{urun}: {fiyat:.2} TL");
}

Beklenen çıktı

Kalem: 12.50 TL

Soru ve cevaplar

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

1 Bir vektörü yazdırmak için hangi yer tutucu gerekir?

  • %v
  • {v}
  • {:?} Doğru cevap
  • {}

Açıklama: Vec Display'i uygulamaz, Debug'ı uygular; bu yüzden {:?} gerekir. {} kullanmak derleme hatası verir.

2 İki ondalık

Soru
println!("{____}", 2.71828);  // 2.72
Cevap
println!("{:.2}", 2.71828);  // 2.72

Açıklama: :.2 sayıyı iki ondalık basamakla yazar.

3 Biçim ve çıktı

Kavram Anlamı
{} Display biçimi
{:?} Debug biçimi
{:.2} İki ondalık
{:>6} Sağa yaslı, 6 genişlik

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