Имея два простых класса, принимающих Int
в качестве аргумента:
case class Foo(i: Int)
class Bar(j: Int)
Я могу сказать:
List(1,2,3) map Foo
Что работает отлично и эквивалентно более подробному:
List(1,2,3) map {Foo(_)}
Однако Bar
(потому что это не класс case?) не может использоваться в той же конструкции:
List(1,2,3) map Bar
error: not found: value Bar
List(1,2,3) map Bar
^
Есть ли какой-то специальный синтаксис для ссылки на какие-либо конструктор и воспользоваться расширением eta? List (1,2,3) map {new Bar (_)}
кажется немного более подробным по сравнению с Foo
.