Clap — Rust के लिए शक्तिशाली CLI फ्रेमवर्क

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Clap क्या है और इसकी आवश्यकता क्यों है?

Clap (Command Line Argument Parser) Rust भाषा में कमांड लाइन इंटरफ़ेस (CLI) बनाने के लिए सबसे लोकप्रिय और शक्तिशाली फ्रेमवर्क में से एक है। यह डेवलपर्स को तर्कों, फ्लैग्स, उप-कमांडों का वर्णन करने और स्वचालित रूप से सहायता उत्पन्न करने की अनुमति देता है। Clap का उपयोग ripgrep, fd और bat जैसी प्रसिद्ध परियोजनाओं में किया जाता है। Rust की सख्त टाइपिंग और मैक्रोज़ के कारण, Clap संकलन चरण में सुरक्षा सुनिश्चित करता है और मैन्युअल स्ट्रिंग पार्सिंग से बचाता है।

स्थापना

Cargo.toml में निर्भरता जोड़ें:

[dependencies]clap = { version = "4.5", features = ["derive"] }

derive फ्लैग प्रोसीजरल मैक्रोज़ के समर्थन को सक्षम करता है - यह उपयोग करने का सबसे सुविधाजनक तरीका है।

मुख्य कार्य

  • डिक्लेरेटिव पार्सिंग — संरचनाओं और विशेषताओं के माध्यम से तर्कों का वर्णन।
  • स्वचालित सहायता निर्माण (--help)।
  • उप-कमांडों का समर्थन (उदाहरण के लिए, git clone, git push)।
  • प्रकारों का सत्यापन — संख्याएँ, स्ट्रिंग्स, फ्लैग्स, एनुमरेशन।
  • Bash/Zsh/Fish ऑटो-कम्प्लीशन।
  • रंगीन त्रुटि आउटपुट।

Rust में कोड उदाहरण

दो मोड वाला एक सरल कैलकुलेटर बनाएँ: जोड़ और घटाव।

use clap::Parser;

#[derive(Parser)]#[command(name = "calc", version = "1.0", about = "सरल कैलकुलेटर")]struct Cli { #[command(subcommand)] command: Commands,}

#[derive(clap::Subcommand)]enum Commands { /// दो संख्याओं को जोड़ें Add { a: f64, b: f64 }, /// a में से b घटाएँ Sub { a: f64, b: f64 },}

fn main() { let cli = Cli::parse(); match cli.command { Commands::Add { a, b } => println!("परिणाम: {}", a + b), Commands::Sub { a, b } => println!("परिणाम: {}", a - b), }}

रन करें: cargo run -- add 10 5 आउटपुट देगा परिणाम: 15।

कब उपयोग करें

Clap Rust पर किसी भी CLI टूल के लिए आदर्श है - सरल उपयोगिताओं से लेकर जटिल बहु-स्तरीय अनुप्रयोगों तक। इसका उपयोग करें यदि आपको न्यूनतम कोड के साथ एक विश्वसनीय, दस्तावेजीकृत और तेज़ तर्क पार्सर की आवश्यकता है। derive-मैक्रोज़ के कारण, आपको बिना boilerplate के सख्त टाइपिंग और स्वचालित सहायता निर्माण मिलता है।

यदि आपकी परियोजना को उच्च प्रदर्शन (जैसे, रीयल-टाइम लॉग प्रोसेसिंग) या जटिल कमांड पदानुक्रम की आवश्यकता है, तो Clap सबसे अच्छा विकल्प है। यह कस्टम वैलिडेटर और एनवायरनमेंट वेरिएबल पार्सिंग का भी समर्थन करता है।

निष्कर्ष

Clap Rust इकोसिस्टम में CLI के लिए डी-फैक्टो मानक है। यह Python लाइब्रेरीज़ (argparse, click) की सुविधा को Rust के प्रदर्शन और सुरक्षा के साथ जोड़ता है। cargo add clap --features derive से शुरू करें और 5 मिनट में अपना पहला CLI बनाएँ।

अनुशंसाएँ