Avatar ·

Rust में एक पैकेज कैसे बनाएं जिसमें लाइब्रेरी (lib) और executable (bin) दोनों हों?

सभी को नमस्कार! मैंने अभी Rust सीखना शुरू किया है और प्रोजेक्ट संगठन को समझने की कोशिश कर रहा हूँ। मेरा काम है: मैं CSV फ़ाइलों के साथ काम करने के लिए एक छोटी उपयोगिता लिखना चाहता हूँ। लेकिन साथ ही, मैं चाहता हूँ कि मुख्य लॉजिक (parsing, filtering) को अन्य प्रोजेक्ट्स में library के रूप में पुनः उपयोग किया जा सके। अब मेरा प्रोजेक्ट इस तरह दिखता है: ``` my_project/ ├── Cargo.toml ├── src/ │ └── main.rs ``` `main.rs` में मैंने parsing और आउटपुट दोनों लिखा है। यह असुविधाजनक है: अगर मैं उसी parser को किसी दूसरे प्रोजेक्ट में उपयोग करना चाहूँ, तो मुझे कोड कॉपी करना होगा। मैंने पढ़ा है कि Rust में एक पैकेज बनाया जा सकता है जिसमें `lib.rs` (library) और `main.rs` (binary) दोनों हों। लेकिन मुझे समझ नहीं आता कि इसे सही तरीके से कैसे कॉन्फ़िगर करें। `Cargo.toml` में मुझे कोई स्पष्ट निर्देश नहीं दिखते। Cargo को कैसे पता चलेगा कि मेरे पास दो target files हैं? क्या मैं `main.rs` से `lib.rs` के functions को कॉल कर सकता हूँ? और फ़ोल्डर संरचना को सही तरीके से कैसे व्यवस्थित करें? क्या `Cargo.toml` में कुछ निर्दिष्ट करने की आवश्यकता है? कृपया मुझे बताएं कि इसे सही तरीके से कैसे करें। उदाहरण के साथ।