+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 پاسخ 308 بازدید
0 امتیاز
2 پاسخ 450 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 304 بازدید
0 امتیاز
1 پاسخ 335 بازدید
0 امتیاز
1 پاسخ 456 بازدید
+1 امتیاز
1 پاسخ 462 بازدید
0 امتیاز
1 پاسخ 388 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 365 بازدید
+1 امتیاز
2 پاسخ 365 بازدید
...