Я только начинающий в Scala, и я изучаю функции. Я только что разработал небольшой фрагмент кода, как показано ниже.
class OptionClass {
}
object OptionClass {
def main(args: Array[String]) {
println("This is my third code")
def add(a: Int, c: Int, d: Option[Int]): Int = {
d match {
case Some(d) =>
val f = a + c + d
f
case None => a + c
}
}
val result = add(1, 2, None)
println(s"The result value is $result")
val newResult = add(1, 2, Some(5))
println(s"The new result is $newResult")
val revisedResult = add(1, 2)
println(s"The result value is $revisedResult")
//****Adding the code snippets as per the comments below as it may be useful for someone else who refers the questio
def addVal(a:Int,b:Option[Int]= None):Int = {
a+b.getOrElse(10)
}
val firstResult=addVal(1)
println(s"The firstResult is $firstResult")
val secondResult=addVal(1,Some(2))
println(s"The secondResult is $secondResult")
val thirdResult=addVal(1,None)
println(s"The thirdResult is $thirdResult")
}
}
Мой вопрос здесь,
Когда я вызвал функцию, используя add (1,2, None)) и add (1,2, Some (5)), код работает, я попытался вызвать функцию, используя add (1,2), и у кода возникли проблемы , Несмотря на то, что я упомянул третий аргумент - вариант, почему мы должны упоминать третий аргумент как None или Some (d) (является ли some (d) правильным способом для его передачи?). Было бы очень полезно, если бы вы предложили правильный способ использования опции в соответствии с этим кодом.