Bool ve char
- Rust kursu
- Başlangıç
- Ders 15/115
- 4 dk
bool ve char türlerini kullanarak mantık ve karakter saklarsın.
Bool ve char
bool true/false değerlerini alır. char tek tırnakla yazılır ve 4 baytlık bir Unicode skaler değeridir; yalnızca ASCII değil, Türkçe harfler ve emojiler de tek char'dır:
let aktif = true;
let harf = 'ş';
let emoji = '🦀';
println!("{} {} {}", aktif, harf.is_alphabetic(), emoji);Çift tırnak ("a") bir string, tek tırnak ('a') bir char'dır.
char yöntemleri
char sınıflandırma ve dönüştürme yöntemleri sunar:
let c = '7';
println!("{}", c.is_ascii_digit()); // true
println!("{:?}", c.to_digit(10)); // Some(7)
println!("{}", 'a'.to_ascii_uppercase()); // A
println!("{}", 'A' as u32); // 65Mantıksal operatörler kısa devre yapar: a && b ifadesinde a false ise b hiç hesaplanmaz.
Uygulama Rakam toplamı
"4096" metnindeki her karakteri .chars() ile gez, to_digit(10) ile sayıya çevir ve topla. Toplamı yazdır.
Başlangıç kodu
fn main() {
// buraya yaz
}Örnek çözüm
fn main() {
let mut toplam = 0;
for c in "4096".chars() {
toplam += c.to_digit(10).unwrap();
}
println!("{}", toplam);
}Beklenen çıktı
19
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>std::mem::size_of::<char>()</code> kaç döndürür?
- 1
- 2
- 8
- 4 Doğru cevap
Açıklama: char her Unicode karakterini tutabilmek için 4 bayttır; string içinde ise karakterler UTF-8 olarak 1-4 bayt yer kaplar.
2 Rakama çevir
let d = '9'.____(10); // Some(9)
let d = '9'.to_digit(10); // Some(9)
Açıklama: to_digit(10) onluk rakamı Option<u32> olarak döndürür.
3 İfade ve sonuç
| Kavram | Anlamı |
|---|---|
'A' as u32 |
65 |
'ş'.is_alphabetic() |
true |
'x'.to_digit(10) |
None |
!true |
false |