আমি জাস্টে কীভাবে ম্যাচ করব তা জানার চেষ্টা করছি String
।
আমি ভালো প্রথমে ম্যাচিং চেষ্টা করেছি, কিন্তু আমি মরচে মূর্ত আউট পরোক্ষভাবে থেকে নিক্ষেপ করতে পারবে না std::string::String
করতে &str
।
fn main() {
let stringthing = String::from("c");
match stringthing {
"a" => println!("0"),
"b" => println!("1"),
"c" => println!("2"),
}
}
এতে ত্রুটি রয়েছে:
error[E0308]: mismatched types
--> src/main.rs:4:9
|
4 | "a" => println!("0"),
| ^^^ expected struct `std::string::String`, found reference
|
= note: expected type `std::string::String`
found type `&'static str`
আমি তখন নতুন গঠন করা চেষ্টা String
, বস্তু হিসাবে আমি একটি কাস্ট করার জন্য একটি ফাংশন খুঁজে পাইনি String
একটি থেকে &str
।
fn main() {
let stringthing = String::from("c");
match stringthing {
String::from("a") => println!("0"),
String::from("b") => println!("1"),
String::from("c") => println!("2"),
}
}
এটি আমাকে নীচের ত্রুটিটি 3 বার দিয়েছে:
error[E0164]: `String::from` does not name a tuple variant or a tuple struct
--> src/main.rs:4:9
|
4 | String::from("a") => return 0,
| ^^^^^^^^^^^^^^^^^ not a tuple variant or struct
String
মরিচা আসলে কীভাবে মরবে?
as_str
উপস্থিত ছিল না তখন তা গ্রহণ করা হয়েছিল । আমি গৃহীত উত্তর পরিবর্তন করেছি তবে যারা এই প্রশ্নের উত্তর দিয়েছেন তাদের সকলকে ধন্যবাদ!
stringthing.as_str()
সম্ভবত সমস্ত উত্তরগুলির মধ্যে সবচেয়ে সহজবোধ্য; আমি পছন্দ করি নাas_ref
কারণ এটি অযথা সাধারণ, যা বাগের দিকে নিয়ে যেতে পারে এবং এটি স্পষ্ট নয়, এটি সম্পূর্ণ পরিষ্কার নয় যেas_ref()
এটি হতে চলেছে&str
,as_str
সহজ এবং পরিষ্কার clear