Rust में "&-केंद्रित डेवलपमेंट" से आगे बढ़ना
(fiberplane.com)- Rust सीखना शुरू करने वाले लोग अक्सर जो
&जोड़ देते हैं, उसे पक्के तौर पर समझना - References (
&variable) : यह किसी खिलौने को उधार देने जैसा है — "तुम इसे देख सकते हो, लेकिन छू नहीं सकते। काम हो जाए तो वापस कर देना" - Mutable References (
&mut variable) : यह किसी coloring book को उधार देने जैसा है — "तुम इसे देख भी सकते हो और अपनी मर्ज़ी से रंग भी भर सकते हो, लेकिन काम हो जाए तो वापस करना होगा" - Owned Values (
variable) : यह किसी को खिलौना दे देने जैसा है — "लो, यह तुम्हारा है। इसे जैसे चाहो इस्तेमाल करो, वापस करने की ज़रूरत नहीं" - Reference-Counted Pointers (
RcandArc) :Rc"बच्चे की birthday party में गुब्बारों जैसी सजावट" है। हर कोई इसे देख सकता है, लेकिन अच्छा यही है कि कोई हाथ न लगाए। यह तब तक वहीं रहना चाहिए जब तक आख़िरी बच्चा पार्टी से न चला जाए, और आख़िरी बच्चा जाते ही सफ़ाई शुरू होती है- async/multi-threaded code में
Arcका उपयोग करें। इसका व्यवहारRcजैसा ही है
3 टिप्पणियां
क्या
RefCell<T>जैसे खतरनाक टूल, जो इन सबको नज़रअंदाज़ कर सकते हैं, जानबूझकर समझाए नहीं गए थे?यह थोड़ा अधिक जटिल है, लेकिन इस repository में मौजूद तस्वीरों को भी साथ में देखना अच्छा रहेगा: https://github.com/usagi/rust-memory-container-cs
RefCellके बारे में विवरण छूट गया है!