Size: a a a

Scala User Group

2021 August 12

Oℕ

Oleg ℕizhnik in Scala User Group
а
источник

Oℕ

Oleg ℕizhnik in Scala User Group
пофиксили
источник

Α

Αγβεκ in Scala User Group
да там init забыл - но все равно не сработает)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
что значит не сработает
источник

Oℕ

Oleg ℕizhnik in Scala User Group
сработает, будет список 0, 1, 2
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну в общем, вы оритентируйтесь не на "интерации", а на "вычисление"\ "редукцию"
источник

Α

Αγβεκ in Scala User Group
java.lang.RuntimeException: self-referential LazyList or a derivation thereof has no more elements
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну плохо написан init потому что
источник

S

Simon in Scala User Group
init - просьба посчитать до конца и отбросить последний элемент. Как это должно работать? Список бесконечный же. И третий элемент входит в init и определен через init - то есть для вычисления третьего элемента надо сначала вычислить третий элемент.
источник

Α

Αγβεκ in Scala User Group
понял
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну как раз список не бесконечный
источник

S

Simon in Scala User Group
В данном случае попытка определить бесконечный список привела к определению не корректного списка.
Я ориентировался на "телепатов", а не на код.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
а почему в  @scala_learn не хотите?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну вот не нужно в LazyList вычислять элементы для вычисления длины
источник

Oℕ

Oleg ℕizhnik in Scala User Group
тем он от стрима из 2.12 и отличается
источник

Α

Αγβεκ in Scala User Group
согласен - надо было туда
источник

Oℕ

Oleg ℕizhnik in Scala User Group
но LazyList намудрили со стейтами и в итоге он отстреливает раньше времени, реализованный руками и хаскелёвый ленивый список таких проблем не имеют
источник

В

Ваня💜 in Scala User Group
Есть метод который делает запрос к внешнему api
override def get(cityName: String): Future[JsResult[Forecast]] = {
   val tempUrl = HOST + s"?q=$cityName&appid=$appid"
   ws.url(tempUrl).get().map { response =>
     (response.json).validate[Forecast]
   }
 }
Код модели Forecast такой
case class Forecast(
                    weatherType: String,
                    description: String,
                    temperature: Double,
                    humidity: Int,
                    windSpeed: Double,
                    clouds: Int
                  )

object Forecast {
 implicit val forecastReads: Reads[Forecast] = (
   (JsPath \ "weather" \ 0 \ "main").read[String] and
     (JsPath \ "weather" \ 0 \ "description").read[String] and
     (JsPath \ "main" \ "temp").read[Double] and
     (JsPath \ "main" \ "humidity").read[Int] and
     (JsPath \ "wind" \ "speed").read[Double] and
     (JsPath \ "clouds" \ "all").read[Int]
   ) (Forecast.apply _)
implicit val forecastImplicitWrites = Json.writes[Forecast]
}
Как получить обьект типа Forecast в контроллере и вывести на странице в  json format ?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
источник

AT

Aleksei Teryokhin in Scala User Group
это получается кто то хочет решение лабы?
источник