İç İçe If - Else
Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 28 / 75.
if-elif-else ifadelerini birbirinin içine yerleştirebiliriz. Bu, hiyerarşik karar verme yapıları oluşturmamıza olanak tanır.
Örneğin:
if age > 18 {
if hasLicense {
println!("You can drive");
} else {
println!("Get a license first");
}
} else {
println!("Too young to drive");
}Sonsuz şekilde iç içe yerleştirilebilir:
if condition1 {
if condition2 {
if condition3 {
// condition1, condition2 ve condition3 doğruysa
...
}
}
}Görev
BaşlangıçBirinin hız trenine binip binemeyeceğini kontrol eden bir program oluşturun. Gereksinimler şunlardır:
- En az 12 yaşında olmalı
- 150 cm'den uzun olmalı
- Her iki gereksinimi de karşılıyor ancak 15 yaşından küçükse, yetişkin gözetimine ihtiyacı vardır
Her durum için tam olarak şu mesajları yazdırın:
- Çok gençse:
Sorry, you're too young - Yeterince uzun değilse:
Sorry, you're not tall enough - 15 yaşından küçükse ve yanında yetişkin yoksa:
Sorry, you need an adult with you - 15 yaşından küçükse ve yanında yetişkin varsa:
You can ride with adult supervision! - 15 yaşında veya daha büyükse ve yeterince uzunsa:
You can ride by yourself!
Kopya kağıdı
Hiyerarşik karar verme yapıları oluşturmak için if-elif-else ifadelerini birbirinin içine yerleştirebilirsiniz:
if age > 18 {
if hasLicense {
println!("You can drive");
} else {
println!("Get a license first");
}
} else {
println!("Too young to drive");
}İç içe yerleştirme sonsuz şekilde yapılabilir:
if condition1 {
if condition2 {
if condition3 {
// condition1, condition2 ve condition3 doğruysa
...
}
}
}Kendin dene
use std::io;
fn main() {
let mut age_input = String::new();
let mut height_input = String::new();
let mut adult_input = String::new();
io::stdin().read_line(&mut age_input).unwrap();
io::stdin().read_line(&mut height_input).unwrap();
io::stdin().read_line(&mut adult_input).unwrap();
let age: i32 = age_input.trim().parse().unwrap();
let height: i32 = height_input.trim().parse().unwrap();
let has_adult: bool = adult_input.trim().parse().unwrap();
// Kodunuzu aşağıya yazın
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fundamentals bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik Girdi