Rust Turu İçindekiler

Option/Result Türlerini Üstünkörü İşlemek

Bir programı hızlıca yazıp bitirmek gerektiğinde, Option/Result türlerini ayrı ayrı işlemek size yorucu gelebilir. Bu tür durumlarla karşılaştığınızda, kodunuzu hızlı ancak kaba şekilde tamamlamanıza olanak sağlayan ve her iki türün de uyguladığı unwrap işlevinden yararlanabilirsiniz. Aslında bir yöntem olan bu işlevle etkileşiminiz aşağıdaki gibi gelişecektir:

  1. Önce Option/Result içindeki değeri alın,
  2. Eğer enum türü None/Err türündeyse panic! üretmeyi düşünün.

Panik üretildiğinde Rust programlarının işletilmeleri bir hata mesajı eşliğinde durdurulur. Bu iki kod parçası birbirinin eşdeğeridir:

bir_option.unwrap()
match bir_option {
    Some(v) => v,
    None => panic!("Rust'ın hata mesajları!"),
}

Benzer şekilde:

bir_result.unwrap()
match bir_result {
    Ok(v) => v,
    Err(e) => panic!("Rust'ın hata mesajları!!"),
}

Ferris'in kıskaçlarını görür gibiyim: "İyi bir rustacean olun ve gerektiği hallerde match ifadesini doğru şekilde kullanın!"