+2 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

چگونه می توانم در اسکالا case class داشته باشم که یکی از پارامتر های constructor آن اختیاری باشد:

case class Person (name : String, age : Int)

حالا می خواهم بتوانم فقط با پارامتر name یک instance از Person بسازم:

val person = Person("Saeed")

2 پاسخ

+2 امتیاز
قبل توسط (1.2هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

کافیه از default value در تعریف متد سازنده case class استفاده کنید:

case class Person (name : String,age : Int = 0)
+1 امتیاز
قبل توسط (1.1هزار امتیاز)

یک روش دیگه هم استفاده از نوع داده Option:

case class Person(name: String, age: Option[Int] = None)

حالا می توانیم با روش های زیر از کلاس Person یک instance بسازیم:

Person("Saeed")
Person("Saeed", None)       
Person("Saeed", Some(1)) 

سوالات مشابه

0 امتیاز
1 پاسخ 221 بازدید
0 امتیاز
2 پاسخ 337 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 234 بازدید
0 امتیاز
1 پاسخ 238 بازدید
0 امتیاز
1 پاسخ 317 بازدید
+1 امتیاز
1 پاسخ 331 بازدید
0 امتیاز
1 پاسخ 269 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 235 بازدید
+1 امتیاز
2 پاسخ 250 بازدید
...