В примере используется typed актор. Соответственно Greet это тип сообщений, которые принимает ActorRef from. Я бы приложил ссылку на доку отличия typed от классических акторов, но ее бот почистит)
а тут в коде внезано есть кусок spray-json (ответить почему и зачем не смогу), и он внезапно сериализует целые как вещественные с нулем (54 -> "54.0"). case class JsNumber(value: BigDecimal) extends JsValue и def apply(n: Int) = new JsNumber(BigDecimal(n)) в кишках. Можно как-то дешево без вещественных, и чтоб не выкидывать spray?
а тут в коде внезано есть кусок spray-json (ответить почему и зачем не смогу), и он внезапно сериализует целые как вещественные с нулем (54 -> "54.0"). case class JsNumber(value: BigDecimal) extends JsValue и def apply(n: Int) = new JsNumber(BigDecimal(n)) в кишках. Можно как-то дешево без вещественных, и чтоб не выкидывать spray?
По-умолчанию спрей так не делает. может инт переопределен или какая-то очень древняя версия?
а тут в коде внезано есть кусок spray-json (ответить почему и зачем не смогу), и он внезапно сериализует целые как вещественные с нулем (54 -> "54.0"). case class JsNumber(value: BigDecimal) extends JsValue и def apply(n: Int) = new JsNumber(BigDecimal(n)) в кишках. Можно как-то дешево без вещественных, и чтоб не выкидывать spray?
Вроде как в JS-е (JavaScriptObjectNotation) нет интов как таковых, там number-ы. Поэтому с т.з. спрея это не такое уж и неправильное поведение. Т.е. прям рассчитывать, что целое число в итоговом строковом json-представлении визуально останется целым числом без .0 и строить на этом какую-то дальнейшую логику не стоит.
Вроде как в JS-е (JavaScriptObjectNotation) нет интов как таковых, там number-ы. Поэтому с т.з. спрея это не такое уж и неправильное поведение. Т.е. прям рассчитывать, что целое число в итоговом строковом json-представлении визуально останется целым числом без .0 и строить на этом какую-то дальнейшую логику не стоит.