S
Size: a a a
S
S
pathPrefix(p1)(getUser1{ user => r1 }) ~ pathPrefix(p2)(getUser2 {user => r2})
D
D
S
S
D
org.http4s.server.Router
и если пути отличаются для firstRoutesWithMid
и secondRoutesWithMid
, должно помочьEK
Request[F] => Option[OptionT[F, Response[F]]]
D
Option[OptionT[F, Response[F]]]
? штошP
D
EK
HttpRoutes.of
и передовать в middleware напрямую PartialFunctionλ
Α
val pow2: LazyList[Long] =https://scastie.scala-lang.org/moOITDehRzeuwqYTfz5SBQ
0L #::
1L #::
pow2.tail.map(_ * 2)
pow2.take(10).toList
pow2.tail.map(_ * 2)
0 1Но получается:
0 1 2
0 1 2 2 4
0 1 2 2 4 4 4 8
0 1
0 1 2
0 1 2 4
0 1 2 4 8
S
Oℕ
pow2.tail.map(_ * 2) в
каждой итерации добавляет по одному элементу в lazylistpow2.tail = 1L #:: pow2.tail.map(_ * 2)заменяя
xs = pow2.tail
xs == ...
1L #:: xs.map(_ * 2) =
1L #:: 2L #:: xs.map(_ * 2).map(_ * 2) =
1L #:: 2L #:: 4L #:: xs.map(_ * 2).map(_* 2).map(_ * 2)
pow2 = 0 #:: LazyList.from(1).flatMap(i => LazyList.fill(i)(BigInt(2).pow(i)))
Α
pow2.tail.map(_ * 2)
вычисляется значениеΑ
val pow2: LazyList[Long] =
0L #::
1L #::
LazyList(pow2.init.last * 2)
Oℕ