В дополнение к ответу Дмитрия, я должен отметить, что все функциональные возможности класса дел относятся только к параметрам в первом списке, например,
val message1 = SuperMessage("hello world")()
val message2 = SuperMessage("hello world")("surprise")
println(message1 == message2)
напечатает true
. Если это не то, что вам нужно, определите отдельный метод apply
:
case class SuperMessage(message: String, capitalMessage: String)
object SuperMessage {
def apply(message: String) = SuperMessage(message, message.capitalize)
}