나는 내가 고양이를 사용하여 더 나은 방법이 접근하는 방법을 손실의 비트에서 오전 문자열 let f = sequence [id, reverse]
f "test"
에 다음을 수행 할 수있다. 나는 현재 val f = List(fun1,fun2)
val data = "test"
f map {fun => fun(data)}
같은 것을 사용하여이 고
오늘 나는 다음과 같은 문제를 가로 질러 온 경비원 : 나는 몇 가지 패턴 매칭 단순화이처럼 보이는, 무슨했다 : object Sync {
sealed trait MatchType
case object BigType extends MatchType
case object SmallType extends MatchType
c
고양이 또는 스칼라즈에 다른 컨테이너 유형을 변환하는 typeclass가 있습니까? 예를 들어 옵션 ~> 이 ~> 미래 하려고 시도 ~> 중 하나를 시도 옵션 ~> 목록 FunctionK/~>/NaturalTransformation이있을 수 있습니다 것처럼 보이는 내가 찾고있어,하지만 그들에 대해 정의 된 인스턴스가 없으며 왜 그런지 모르겠다.
고양이 라이브러리에서 MonadTransformers를 사용하여 모나스트를 중첩시키는 법을 배우려고합니다. 그래서 내가 하나의 데이터 유형을 구축을 위해 노력하고 있어요 [문자열, 옵션 [A]는] 이것은 내가 import cats.data.OptionT
import cats.instances.list._
import cats.syntax.applicat
처음으로 cats을 사용하여 코드가 출현하여 day 1을 해결했습니다. 개선이 가능한지 궁금합니다. 내가 함께 왔어요 def update(i: Instruction): PosAndDir => PosAndDir 다음 서명하는 방법 update을 감안할 때 : 더 정확하게 val state: State[PosAndDir, List[Unit]] = instruc
나는 고양이 지금이 Xor이 제거 된 이후 Xor.right(data).ensure(List(s"$name cannot be blank"))(_.nonEmpty)
의 Xor 객체에이 코드 조각이, 내가 사용하는 비슷한 쓰기 어느 Either.ensuring(name.nonEmpty, List(s"$name cannot be blank"))
객체하려고
의 특정 유형을 찾을 어떻게 컴파일하고 작동이 코드를 가지고 거기에 너무 많은 클래스가 있기 때문에 내가 cats.implicits._의 가져 오기를 싫어하지만 import cats.implicits._
Cartesian[ValidResponse].product(
getName(map).toValidated,
readAge(map).toV
와 자기 사상의 컬렉션을 배하는 방법 g def g(is : Seq[I], init: S) : S
쉬운 구현은 고전적인 스칼라를 사용 def g(is : Seq[I], init: S) : S =
is.foldLeft(init){ case (acc, i) => f(i)(acc) }
Foldable을 사용하려고했지만 컴파일 문제가 발생했습니다.
여기에서 튜토리얼을 수행하고 있습니다 (http://typelevel.org/cats/datatypes/freemonad.html). 키 값 저장소 앞에있는 캐시에서 작동하도록 수정하려고합니다. 이것이 내가 지금까지 생각해 왔지만 valueGetOperation과 컴파일러 오류가 발생했습니다. 내가 왜 컴파일 오류가 나는지 이해할 수 없다. 나는 그 문제를
monoid 유형 A의 목록이나 배열도 monoid입니다. 이제 combine 배열에 cats을 사용하는 정수 배열을 사용하고 싶습니다. scala> 1 |+| 2
res1: Int = 3
scala> Array(1, 2, 3) |+| Array(1, 2, 3)
<console>:21: error: value |+| is not a member of