Не существует общего правила замены _
на в именах методов.
В вашем первом примере произошло одно синтаксическое правило сахара.
a.b = c эквивалентно a.b _ = (c). Когда вы создаете val / var x в Class / Object, Scala создает для вас методы x и x_ =.
blockquote>
- ИсточникЕсли у вас будет только один метод, подобный этому (например, только слушатели) , вы можете определить [ 113] метод, который принимает
Listener
, я не уверен, что это будет достаточно для чтения для вас.Другой вариант - использовать вложенный объект для предоставления желаемого DSL .
final class SubjectUnderObs { self => private[this] var _listeners: List[Int] = List.empty object ListenersMutator { def += (listener: Int): Unit = { self._listeners = listener :: self._listeners } } def listeners = ListenersMutator override def toString: String = _listeners.mkString("[", ", ", "]") } val res1 = new SubjectUnderObs // res1: SubjectUnderObs = [] res1 += 10 // res1: SubjectUnderObs = [10]
Когда я сначала запустил свой опыт Silverlight, я нашел очень интересный и полезный просмотр этого ролика об "Опыте Установки Silverlight". Это дает Вам некоторые предложения о том, как улучшить его и избежать части боли.
Ну, рассмотрение Вас теперь знает то, что ступает, пользователь оказывается перед необходимостью делать, Вы могли создать страницу справки для пользователя. Предоставленный, это не лучшая вещь (упрощенный опыт установки был бы лучше, очевидно), но по крайней мере пользователь сможет легко найти шаги на том, что продолжается.
Вот статья, которая поможет немного упростить задачу с помощью настраиваемой ссылки для установки: http://www.netmag.co.uk/zine/expression/create-a-custom-silverlight-install-experience