Scala по имени в зависимости от параметров функции

Это именованный параметр:

def foo(bar: => Boolean): Boolean = bar

И это параметр функции:

def foo(bar: () => Boolean): Boolean = bar()

Чем отличаются две декларации? Оба будут оценены лениво и каждый раз, когда к параметру обращаются? Есть ли преимущество у одного синтаксиса или другого? Будет ли первое означать чистую функцию по сравнению с функцией с побочными эффектами для второго?

0 ответов

Другие вопросы по тегам