Clap क्या है?
Clap (Command Line Argument Parser) Rust भाषा में कमांड लाइन इंटरफेस (CLI) बनाने के लिए एक लोकप्रिय और शक्तिशाली फ्रेमवर्क है। यह डेवलपर्स को आसानी से आर्गुमेंट्स, फ्लैग्स, सबकमांड्स को परिभाषित करने और स्वचालित रूप से हेल्प जनरेट करने की अनुमति देता है।
Clap की आवश्यकता क्यों?
मैन्युअल रूप से आर्गुमेंट पार्सर लिखना एक समय लेने वाला और त्रुटि-प्रवण कार्य है। Clap सारी नियमित प्रक्रिया को संभाल लेता है: टाइप वैलिडेशन, अनिवार्य पैरामीटर्स की जाँच, सुझावों का जनरेशन और रंगीन हेल्प आउटपुट। derive-मैक्रोज़ की बदौलत, कोड डिक्लेरेटिव और संक्षिप्त हो जाता है।
इंस्टॉलेशन
Cargo.toml में जोड़ें:
[dependencies]clap = { version = "4.5", features = ["derive"] }मुख्य विशेषताएँ
- आर्गुमेंट्स और फ्लैग्स का स्वचालित पार्सिंग
- नेस्टेड सबकमांड्स के लिए समर्थन (git-शैली)
- हेल्प और वर्शन का जनरेशन
- वैल्यू वैलिडेशन (रेंज, संभावित मानों की सूची)
- bash/zsh/fish/powershell के लिए ऑटो-कम्प्लीशन
- रंगीन एरर आउटपुट
कोड उदाहरण
use clap::Parser;
#[derive(Parser)]#[command(name = "greet")]#[command(about = "उपयोगकर्ता का अभिवादन")]struct Cli { /// उपयोगकर्ता का नाम name: String,
/// दोहराव की संख्या #[arg(short, long, default_value_t = 1)] count: u32,
/// अपर केस में आउटपुट करें #[arg(short, long)] uppercase: bool,}
fn main() { let cli = Cli::parse(); for _ in 0..cli.count { let msg = format!("नमस्ते, {}!", cli.name); if cli.uppercase { println!("{}", msg.to_uppercase()); } else { println!("{}", msg); } }}Clap का उपयोग कब करें?
Clap का उपयोग करें यदि आप विकसित कर रहे हैं:
- कमांड लाइन यूटिलिटीज़ (जैसे grep, sed, curl)
- DevOps और CI/CD के लिए उपकरण
- कई सबकमांड्स वाले जटिल CLI (जैसे git या cargo)
- Rust में कोई भी प्रोजेक्ट जहाँ टर्मिनल के माध्यम से उपयोगकर्ता इनपुट की आवश्यकता हो
Clap Rust में CLI के लिए डी-फैक्टो मानक है। यह अधिकतम प्रदर्शन को विकास की सुविधा के साथ जोड़ता है।