+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 پاسخ 222 بازدید
0 امتیاز
2 پاسخ 340 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 235 بازدید
0 امتیاز
1 پاسخ 241 بازدید
0 امتیاز
1 پاسخ 320 بازدید
+1 امتیاز
1 پاسخ 336 بازدید
0 امتیاز
1 پاسخ 272 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 239 بازدید
+1 امتیاز
2 پاسخ 253 بازدید
...