← Back to Scala Course | Chapter 11: Error Handling & Option | Lesson 1 of 7

Option Type क्या है

एक Option एक box है जिसमें एक value हो सकती है या खाली हो सकता है, और यह उपयोग से पहले जांचने की चेतावनी देता है। यह उन crashes से बचने में मदद करता है जो कुछ न होने के उपयोग से आते हैं।

In this page:

  1. The Option Type
Syntax
scala
val option: Option[Type] = Some(value)
val empty: Option[Type] = None
option.isDefined

The Option Type

Option[T] एक ऐसी value को represent करता है जो मौजूद हो सकती है या नहीं, जो अनुपस्थिति signal करने के लिए null की ज़रूरत की जगह लेता है।

यह एक container है जो बिल्कुल एक value या बिल्कुल कोई नहीं रखता है, और callers को null-pointer error का जोखिम उठाने के बजाय "गायब" case को explicitly handle करने के लिए मजबूर करता है। वे methods जो शायद कोई result न ढूंढें, जैसे map lookup, convention के अनुसार null के बजाय एक Option return करते हैं।

Note: किसी भी ऐसी value के लिए null के बजाय Option को प्राथमिकता दें जो वैध रूप से अनुपस्थित हो सकती है -- यह अनुपस्थिति की संभावना को type में ही दिखाई दे देता है।

उदाहरण: The Option Type

markup
object Main extends App {
  val found: Option[Int] = Some(42)
  val missing: Option[Int] = None

  println(found)
  println(missing)
  println(found.isDefined)
  println(missing.isEmpty)
}
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. None के बजाय null return करना, जो वह NullPointerException वापस लाता है जिससे Option बचाता है।
  2. किसी संभावित-null value को Some(x) से wrap करना, जबकि x null होने पर Option(x) None return करता है।
  3. None पर .get call करना, जो throw करता है; getOrElse, map या pattern matching का उपयोग करें।
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.