Я нашел в Scala: не могу написать сеттер без геттера? что вы можете не создавать сеттер без геттера:
Интерпретация присвоения простой переменной x = e зависит от определения x. Если x обозначает изменяемую переменную, то присваивание изменяет текущее значение x на результат вычисления выражения e. Ожидается, что тип e будет соответствовать типу x. Если x является функцией без параметров, определенной в некотором шаблоне, и тот же шаблон содержит функцию установки x_= в качестве члена, то присваивание x = e интерпретируется как вызов x_=(e ) этой функции установки. strong> Аналогично, присваивание fx = e функции без параметров x интерпретируется как вызов f.x_=(e ). Присваивание f(args) = e с применением функции слева от оператора ‘=’ интерпретируется как f.update(args, e ) , то есть вызов функции обновления, определенной f .
Таким образом, дизайнерское решение не разрешать сеттеры без геттеров. Но почему? Это просто сложнее реализовать или это невозможно сделать в принципе?
У меня есть правильный вариант использования для него, используя его в качестве (несколько сложного) сеттера, где неиспользование этого синтаксического сахара нарушило бы одинаковый синтаксис везде в проекте.
typedAssign
иnormalTypedApply
. Смотрите мой ответ, что это не просто переписывание синтаксиса, если это полезное различие. - person som-snytt   schedule 25.08.2016