2015-04-13 3 views

उत्तर

29

println! कोई फ़ंक्शन नहीं है, यह मैक्रो है। मैक्रोज़ सामान्य विधि कॉल से अलग करने के लिए ! का उपयोग करते हैं। The documentation में अधिक जानकारी है।


जंग वैकल्पिक डेटा को निरूपित करने के Option प्रकार उपयोग करता है। इसमें unwrap विधि है।

जंग 1.13 ने try! मैक्रो (मूल रूप से RFC 243 के माध्यम से प्रस्तावित) के एनालॉग के रूप में प्रश्न चिह्न ऑपरेटर ? जोड़ा।

प्रश्न चिह्न ऑपरेटर का एक उत्कृष्ट स्पष्टीकरण The Rust Programming Language में है।

fn foo() -> Result<i32, Error> { 
    Ok(4) 
} 

fn bar() -> Result<i32, Error> { 
    let a = foo()?; 
    Ok(a + 4) 
} 

प्रश्न चिह्न ऑपरेटर भी extends to Option, ताकि आप इसे एक मूल्य खोलने या समारोह से None वापस जाने के लिए प्रयोग किया जाता है देख सकते हैं। यह केवल अनचाहे से अलग है क्योंकि कार्यक्रम घबराएगा:

fn foo() -> Option<i32> { 
    None 
} 

fn bar() -> Option<i32> { 
    let a = foo()?; 
    Some(a + 4) 
} 
+1

सही। धन्यवाद! – masters3d

संबंधित मुद्दे