रिजल्ट टाइप: Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
== उदाहरण == | == उदाहरण == | ||
* [[एल्म (प्रोग्रामिंग भाषा)]] में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|2=elm|1=type Result e v = Ok v {{!}} Err e}} | * [[एल्म (प्रोग्रामिंग भाषा)]] में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|2=elm|1=type Result e v = Ok v {{!}} Err e}}<ref>{{cite web |title=Result · An Introduction to Elm |url=https://guide.elm-lang.org/error_handling/result.html |website=guide.elm-lang.org}}</ref> | ||
* [[हास्केल (प्रोग्रामिंग भाषा)]] में, | * [[हास्केल (प्रोग्रामिंग भाषा)]] में, सम्मेलन द्वारा {{code|Either|haskell}} इस उद्देश्य के लिए प्रकार का उपयोग किया जाता है, जिसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|1=data Either a b = Left a {{!}} Right b|2=haskell}}<ref>{{cite web |title=Data.Either |url=https://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Either.html |website=hackage.haskell.org}}</ref> | ||
* [[OCaml]] में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|2=ocaml|1=type ('a, 'b) result = Ok of 'a {{!}} Error of 'b type}} | * [[OCaml]] (ओकैमल) में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|2=ocaml|1=type ('a, 'b) result = Ok of 'a {{!}} Error of 'b type}}<ref>{{cite web |title=Error Handling – OCaml |url=https://ocaml.org/learn/tutorials/error_handling.html#Result-type |website=ocaml.org}}</ref> | ||
* [[जंग (प्रोग्रामिंग भाषा)]] में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|2=rust|1=enum Result<T, E> { Ok(T), Err(E) } }}.<ref>{{cite web |title=std::result - Rust |url=https://doc.rust-lang.org/std/result/ |website=doc.rust-lang.org}}</ref> | * [[जंग (प्रोग्रामिंग भाषा)|रस्ट (प्रोग्रामिंग भाषा)]] में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|2=rust|1=enum Result<T, E> { Ok(T), Err(E) } }}.<ref>{{cite web |title=std::result - Rust |url=https://doc.rust-lang.org/std/result/ |website=doc.rust-lang.org}}</ref> | ||
* [[स्काला (प्रोग्रामिंग भाषा)]] में, मानक पुस्तकालय | * [[स्काला (प्रोग्रामिंग भाषा)]] में, मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|Either|scala}} प्रकार,<ref>{{cite web |title=Scala Standard Library 2.13.3 - scala.util.Either |url=https://www.scala-lang.org/api/current/scala/util/Either.html |website=www.scala-lang.org |accessdate=9 October 2020}}</ref> चूँकि स्काला में अधिक पारंपरिक असामान्यता प्रबंधन भी है। | ||
* [[स्विफ्ट (प्रोग्रामिंग भाषा)]] में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|2=swift|1=@frozen enum Result<Success, Failure> where Failure : Error}} | * [[स्विफ्ट (प्रोग्रामिंग भाषा)]] में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है {{code|2=swift|1=@frozen enum Result<Success, Failure> where Failure : Error}}<ref>{{cite web |title=Apple Developer Documentation |url=https://developer.apple.com/documentation/swift/result |website=developer.apple.com}}</ref> | ||
=== | === रस्ट === | ||
परिणाम वस्तु में | परिणाम वस्तु में <code>is_ok()</code> और <code>is_err()विधियाँ हैं।</code> | ||
चलो परिणाम = pet_cat (); | चलो परिणाम = pet_cat (); | ||
अगर परिणाम.is_ok () { | अगर परिणाम.is_ok () { |
Revision as of 00:07, 26 February 2023
This article needs additional citations for verification. (January 2021) (Learn how and when to remove this template message) |
कार्यात्मक प्रोग्रामिंग में, परिणाम एक मोनाडिक प्रकार होता है जिसमें इसका मान त्रुटि कोड होता है। जो असामान्यता हैंडलिंग का सहारा लिए बिना त्रुटियों का विधारण करने की विधि प्रदान करते हैं; जब कोई फ़ंक्शन विफल हो सकता है, परिणाम प्रकार का पुनरावृत्ति करता है, प्रोग्रामर को अपेक्षित परिणाम तक पहुंच प्राप्त करने से पूर्व, सफलता या विफलता मार्ग पर विचार करने के लिए विवश किया जाता है; यह त्रुटिपूर्ण प्रोग्रामर धारणा की संभावना को समाप्त करता है।
उदाहरण
- एल्म (प्रोग्रामिंग भाषा) में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है
type Result e v = Ok v | Err e
[1] - हास्केल (प्रोग्रामिंग भाषा) में, सम्मेलन द्वारा
Either
इस उद्देश्य के लिए प्रकार का उपयोग किया जाता है, जिसे मानक पुस्तकालय द्वारा परिभाषित किया गया हैdata Either a b = Left a | Right b
[2] - OCaml (ओकैमल) में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है
type ('a, 'b) result = Ok of 'a | Error of 'b type
[3] - रस्ट (प्रोग्रामिंग भाषा) में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है
enum Result<T, E> { Ok(T), Err(E) }
.[4] - स्काला (प्रोग्रामिंग भाषा) में, मानक पुस्तकालय द्वारा परिभाषित किया गया है
Either
प्रकार,[5] चूँकि स्काला में अधिक पारंपरिक असामान्यता प्रबंधन भी है। - स्विफ्ट (प्रोग्रामिंग भाषा) में, इसे मानक पुस्तकालय द्वारा परिभाषित किया गया है
@frozen enum Result<Success, Failure> where Failure : Error
[6]
रस्ट
परिणाम वस्तु में is_ok()
और is_err()विधियाँ हैं।
चलो परिणाम = pet_cat (); अगर परिणाम.is_ok () { println! (बढ़िया, हम बिल्ली को पालतू बना सकते हैं!); } अन्य { println! (अरे नहीं, हम बिल्ली को पालतू नहीं बना सके!); }
}
fn pet_cat () -> परिणाम <(), स्ट्रिंग> {
अगर CAT_FOUND { ठीक है(()) } अन्य { एरर (स्ट्रिंग :: फ्रॉम (बिल्ली कहीं नहीं मिली)) }
} </वाक्यविन्यास हाइलाइट>
यह भी देखें
- विकल्प प्रकार
- एक्सेप्शन हेंडलिंग
- टैग की गई यूनियन
- वापसी प्रकार
संदर्भ
- ↑ "Result · An Introduction to Elm". guide.elm-lang.org.
- ↑ "Data.Either". hackage.haskell.org.
- ↑ "Error Handling – OCaml". ocaml.org.
- ↑ "std::result - Rust". doc.rust-lang.org.
- ↑ "Scala Standard Library 2.13.3 - scala.util.Either". www.scala-lang.org. Retrieved 9 October 2020.
- ↑ "Apple Developer Documentation". developer.apple.com.