scala-cats

    2熱度

    1回答

    我有兩種不同類型的用戶;我們稱它們爲BasicUser和EnrichedUser。 我得到具有cats.Functor實例的容器C內Foo用戶類型的值: val basicUserF: C[BasicUser] = getBasicUser(…) 現在,我想映射在這個值(使用仿函數實例)打開包含BasicUser到EnrichedUser用戶,留在容器: import cats.syntax.

    2熱度

    2回答

    我試圖理解foldM的Foldable在cats嘗試一個簡單的例子:假設我需要總結列表中的數字,而運行總和爲正值時打破,否則打破。 val sumUp: (Int, Int) => Option[Int] = (x, y) => { println(s"x = $x, y = $y") val sum = x + y if (sum > 0) Some(sum) el

    1熱度

    1回答

    斯卡拉例如我試着出在斯卡拉工作表中的following例如: import cats._, cats.data._, cats.implicits._ val f = Kleisli { (x: Int) => (x + 1).some } val g = Kleisli { (x: Int) => (x * 100).some } 然而,它沒有類型檢查,錯誤即時得到的第2行和3 類型選項

    2熱度

    2回答

    你將如何構造一個函數,在這個函數中你既想做副作用又能返回一個值? 例如,我想下面的功能: def futureFromHttpCall: Future[HttpResponse] = doHttpCall.foreach(publishDomainEvent).returnOriginalFuture (?不知何故,我有一種感覺,單子會想出這樣如果是這樣的路徑林有點熟悉的貓如果有這個

    1熱度

    1回答

    嗨,我有以下Scala代碼與cats庫 results = patrons.map(p => { (verifyCardId(p.cardId), verifyAddress(p.address)).map2( (maybeValidCard, maybeValidAddress) => { val result = for { idCheck <- may

    0熱度

    1回答

    我試圖在scala中創建一個圍繞scala函數的文檔包裝器,以便可以查詢包裝器的包含函數的文檔,如下所示: trait WrappedFunction1[A, B] { def f : Function1[A, B] def doc: String def apply(x:A):B = f(x) def compose[C, T <:WrappedFunct

    7熱度

    1回答

    在cats中,當使用Monad特徵創建Monad時,應提供方法tailRecM的實現。 我有下面,我發現不可能提供尾遞歸實現的tailRecM sealed trait Tree[+A] final case class Branch[A](left: Tree[A], right: Tree[A]) extends Tree[A] final case class Lea

    0熱度

    1回答

    我沒有找到的cats一樣,所以我寫的匹配ValidatedNelspecs2的匹配: import cats.data._ import cats.implicits._ import org.specs2.matcher.Matcher type ValidationFailure = String type ValidationResult[A] = ValidatedNel[Va

    3熱度

    1回答

    我一直在嘗試掌握IO monad一段時間,它是有道理的。如果我沒有弄錯,我們的目標是將副作用和實際執行的描述分開。正如在下面的例子中,Scala有一種方法來獲得一個不引人注意的環境變量。出現了兩個問題。 問題1:這是一個指涉TRANSPARANT 問題2:如何正確(單位/財產依據)測試呢?檢查相等是不可能的,因爲它會檢查內存引用,並且不可能檢查內部函數,因爲如果我沒有弄錯,函數比較是不可能的。但是

    0熱度

    1回答

    我已經花了,而黑客在此,仍然不能完全得到該型系統與我同意這種抽象是一個真正的 ObjectMapper => A => Either[Throwable, B] 我現在的類型看起來像 import cats._ import cats.data.{Reader, Kleisli, EitherT} import cats.implicits._ import com.fasterxml.