تور راست فهرست مطالب

مدیریت زشت Option/Result

کار کردن با Option/Result وقتی که فقط می‌خوای یه کد سریع بنویسی می‌تونه خسته‌کننده باشه. هم Option و هم Result یه تابع به اسم unwrap دارن که برای گرفتن یه مقدار به شکل سریع و نه‌چندان تمیز مفیده. unwrap:

  1. مقدار داخل Option/Result رو می‌گیره
  2. اگه enum از نوع None/Err باشه، panic!‎ می‌کنه

این دو تیکه کد با هم برابرن:

my_option.unwrap()
match my_option {
    Some(v) => v,
    None => panic!("some error message generated by Rust!"),
}

به همین ترتیب:

my_result.unwrap()
match my_result {
    Ok(v) => v,
    Err(e) => panic!("some error message generated by Rust!"),
}

یه rustacean خوب باش و هر وقت که می‌تونی، درست و حسابی از match استفاده کن!