+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 پاسخ 218 بازدید
0 امتیاز
2 پاسخ 336 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 231 بازدید
0 امتیاز
1 پاسخ 236 بازدید
0 امتیاز
1 پاسخ 316 بازدید
+1 امتیاز
1 پاسخ 329 بازدید
0 امتیاز
1 پاسخ 266 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 234 بازدید
+1 امتیاز
2 پاسخ 246 بازدید
...