Removing unnecessary function from Rust echo server -


यह कोड:

  उपयोग std :: io :: {TcpListener, TcpStream}; Std :: io :: {स्वीकर्ता, श्रोता} का उपयोग करें; Fn मुख्य () {श्रोता = TcpListener :: बाँध ("127.0.0.1", 5555); // निर्दिष्ट पते पर श्रोता बद्ध करें mut accept = listener.listen (); // स्वीकार्य स्वीकार करें और उन्हें संसाधित करें, स्वीकार्यरिंग आने वाले (स्ट्रीम) के लिए प्रत्येक के लिए एक नया कार्य बढ़ाएं {मैच स्ट्रीम {एरर (ई) = & gt; {/ * कनेक्शन विफल * /} ठीक है (स्ट्रीम) = & gt; {// कनेक्शन स्पॉन (proc () (मूक बफ़: [u8, ..1024] = [0, ..1024]; लूप (लैन = स्ट्रीम। रीड (बफ़); चलो _ = स्ट्रीम। लिखें buf.slice (0, len.unwrap ()))}}}}}}}}   

इसके साथ विफल रहता है:

  चैट संकलन v0.1.0 (फ़ाइल: /// होम / क्रिस / रास्ट / चैट) src / chat.rs: 19: 35: 19:41 त्रुटि: अस्थायी कब्जा किए गए बाह्य चर को एक proc `स्ट्रीम 'में अस्थिर स्रोत / चैट.rs: 1 9 के रूप में उधार नहीं उठा सकता लाएन = स्ट्रीम करें। रीड (बफ़); ^ ~~~~~ src / chat.rs: 20: 25: 20:31 त्रुटि: एक proc `स्ट्रीम 'में अस्थायी कब्जा किए गए बाहरी चर को अस्थिर स्रोत / चैट.rs: 20 stream.write (buf.slice 0, लेन। दोहराव ())); ^ ~~~~~ त्रुटि: 2 पिछली त्रुटियों के कारण निरस्त होने से `चैट` संकलित नहीं हो सका।   

लेकिन अगर मैं इस कोड को बदलता हूं:

  spawn (proc () {fn handle (mut stream: tcpstream) {let buf: [u8 , ..1024] = [0, ..1024]; लूप (लैन = स्ट्रीम। रीड (बफ़); चलो _ = स्ट्रीम। लिखें (बफ़। सलिस (0, लेन.इनवाप ());}} हैंडल (स्ट्रीम);})   

यह काम करता है।

क्या यह संभाल फ़ंक्शन को निकालने का एक तरीका है?

आपके कोड में मुश्किल बिंदु आपके पैटर्न में है जब आप कुछ लिखते हैं:

  मैच foo.bar () {कुछ (मान) = & gt; {...}, _ = & gt; {}}   

आप एक नया चर ( मूल्य मेरे उदाहरण में) घोषित कर रहे हैं और उसमें इस विकल्प की सामग्री को स्थानांतरित कर सकते हैं। यह व्यावहारिक रूप से इसके बराबर है:

  मान = foo.bar ()। खोलना ();   

इस परिस्थिति में, कुछ भी इसे घोषित करने से इनकार करता है

  मैच foo.bar () {कुछ (mut value) = & gt; {...}, _ = & gt; {}}    

Comments

Popular posts from this blog

php - PDO bindParam() fatal error -

logging - How can I log both the Request.InputStream and Response.OutputStream traffic in my ASP.NET MVC3 Application for specific Actions? -

java - Why my included JSP file won't get processed correctly? -