Вы можете использовать лямбду с пустым списком аргументов, например так:
trait Sam {
def foo(): String
}
val sam : Sam = () => "hello"
Вы не можете использовать запись _
, потому что нет способа определить функцию с нулевым аргументом с помощью _
.
Это не будет работать, если вместо foo
определено def foo: String
(т. Е. Если у него нет списка параметров), потому что преобразование SAM применяется только в том случае, если единственный метод имеет ровно один список параметров.