एक return
, एक अपवाद फेंक द्वारा कार्यान्वित तो यह एक विधि का परिणाम घोषित करने के लिए मानक तरीका अधिक एक निश्चित भूमि के ऊपर हो सकता है हो सकता है। (मामले उनका कहना है यह हमेशा नहीं है, शायद नहीं भी अक्सर, के लिए किम Stebel के लिए धन्यवाद।)
इसके अलावा, एक return
को बंद करने पर विधि जिसमें बंद परिभाषित किया गया है से बस नहीं वापस आ जाएगी, और बंद होने से ही। इससे यह दोनों उपयोगी हो जाता है, और बंद होने से परिणाम लौटने के लिए बेकार है।
ऊपर का एक उदाहरण:
def find[T](seq: Seq[T], predicate: T => Boolean): Option[T] = {
seq foreach { elem =>
if (predicate(elem)) return Some(elem) // returns from find
}
None
}
आप अभी भी समझ में नहीं आता है, तो elem => if (predicate(elem)) return Some(elem)
है कि एक गुमनाम वस्तु की विधि apply
है Function1
लागू करता है और पैरामीटर के रूप में foreach
को पारित कर दिया है। इससे return
निकालें, और यह काम नहीं करेगा।
स्रोत
2012-09-09 01:01:10
यहाँ पर संबंधित ब्लॉग पोस्ट है [वापसी] (https://tpolecat.github.io/2014/05/09/return.html) – BlueSky