Rust:
ডিরেক্টরি আছে কিনা পরীক্ষা করা
কিভাবে:
রাস্টের স্ট্যান্ডার্ড লাইব্রেরি (std
) ডিরেক্টরির বিদ্যমানতা যাচাই করার কার্যকারিতা সরবরাহ করে, std::path::Path
এবং std::fs
মডিউলের মাধ্যমে। এখানে রাস্টের মানক প্রক্রিয়া ব্যবহার করে একটি সহজ উদাহরণ দেয়া হল:
use std::path::Path;
fn main() {
let path = Path::new("/path/to/directory");
if path.exists() && path.is_dir() {
println!("ডিরেক্টরি বিদ্যমান আছে।");
} else {
println!("ডিরেক্টরি বিদ্যমান নেই।");
}
}
ধরুন ডিরেক্টরি বিদ্যমান থাকলে, নমুনা আউটপুট:
ডিরেক্টরি বিদ্যমান আছে।
জটিল পরিস্থিতি বা উন্নত বৈশিষ্ট্যাদি (যেমন অ্যাসিঙ্ক্রোনাস ফাইল সিস্টেম অপারেশন) জন্য, আপনি হয়তো tokio
মতো থার্ড-পার্টি লাইব্রেরি ব্যবহার করা বিবেচনা করতে পারেন, বিশেষ করে যদি আপনি একটি অ্যাসিঙ্ক রানটাইমের মধ্যে কাজ করেন। এখানে tokio
ব্যবহার করে একই কাজ কিভাবে করবেন তা দেখানো হল:
প্রথমে, আপনার Cargo.toml
-এ tokio
যোগ করুন:
[dependencies]
tokio = { version = "1.0", features = ["full"] }
তারপর, আপনি tokio::fs
ব্যবহার করে অ্যাসিঙ্ক্রোনাসভাবে ডিরেক্টরির বিদ্যমানতা যাচাই করুন:
use tokio::fs;
#[tokio::main]
async fn main() {
let path = "/path/to/directory";
match fs::metadata(path).await {
Ok(metadata) => {
if metadata.is_dir() {
println!("ডিরেক্টরি বিদ্যমান আছে।");
} else {
println!("পাথটি বিদ্যমান কিন্তু এটি ডিরেক্টরি নয়।");
}
},
Err(_) => println!("ডিরেক্টরি বিদ্যমান নেই।"),
}
}
ধরুন ডিরেক্টরি বিদ্যমান না থাকলে, নমুনা আউটপুট:
ডিরেক্টরি বিদ্যমান নেই।
এই উদাহরণগুলি দেখায় যে, রাস্ট এবং এর ইকোসিস্টেম সফটওয়্যার ডেভেলপমেন্টের বিভিন্ন প্রয়োজনে মিলে যাওয়ার জন্য সিঙ্ক্রোনাস ও অ্যাসিঙ্ক্রোনাস উপায় প্রদান করে।