私は Scala の初心者ですが、Java のバックグラウンドがあります。
Scala コードを記述する場合、次のようなスタイルで Option パラメータを処理すると便利です。
val text = Option("Text")
val length = text.map(s => s.size)
s => s.size
しかし、私が知っているように、それぞれが新しいFunction1[A, B]
. たとえば、このような変換を 8 回行うと、8 つのクラスが追加されます。フォームをバインドするとき、私はそのようなスニペットを非常に頻繁に使用するので、問題は次のとおりです。
あまり使用しないで、if 表記に置き換える必要がありますか、それともそのようなクラスフラッドは JVM にとって重要ではないのでしょうか、それとも Scala コンパイラが何らかの魔法を行うのでしょうか?
更新:おそらくより具体的な例は次のとおりです。
case class Form(name: Option[String], surname: Option[String])
val bindedForm = Form(Option("John"), Option("Smith"))
val person = new Person
bindedForm.name.foreach(a => person.setName(a))
bindedForm.surname.foreach(a => person.setSurname(a))
それは2つの異なるFunction1[String, String]
クラスを生成しますか? そのような変換が何百もある場合はどうなりますか?