scalaz

    3熱度

    1回答

    我看看20 Intermediate Scala Exercises,並且在練習4時遇到了一些困難。不幸的是,我找不到任何貼在任何地方的解決方案,我想知道它是否可以解決。 Fluffy顯然是變相的Functor和furry是fmap。 trait Fluffy[F[_]] { def furry[A, B](f: A => B, fa: F[A]): F[B] } object F

    23熱度

    3回答

    我有時候在看Scalaz,覺得很難理解一個初學Scala程序員。 implicit def KleisliCategory[M[_]: Monad]: Category[({type λ[α, β]=Kleisli[M, α, β]})#λ] = new Category[({type λ[α, β]=Kleisli[M, α, β]})#λ] { def id[A] = ☆(_ η)

    3熱度

    4回答

    我已經發布了很多關於Scala故障處理的問題,我非常感謝大家的回答。 我明白我的選項可以用和Scalaz或理解力打交道時,我有另一個(持續多久?)問題: 怎麼辦時,操作處理的操作的快速失敗序列在非功能性世界之外,像數據庫一樣? 我的意思是我有一個這樣的方法: def insertItem(item: Item): Either[Error,Item] 由於無論是和這些答案,我知道如何與要麼做到

    1熱度

    1回答

    斯卡拉茲有一個asMA方法,但沒有asIdentity方法。下面產生如圖2.9.1斯卡拉編譯錯誤: Some(0).max(None) <console>:14: error: type mismatch; found : None.type (with underlying type object None) required: Ordering[?] Some(0).m

    2熱度

    1回答

    我正在製作一個戰略遊戲,並嘗試應用我學到的東西,嘗試使用不可變數據。在我的遊戲中我有單位,這些單位可以有不同的特殊功能。例如有些飛機可以隱藏自己。我搜索是一種方法,能夠做到某種 abstract class Units { val life:Int } trait Hidable { self: Units => val hided:Boolean def hide:Units wit

    5熱度

    1回答

    是否可以使用枚舉器或枚舉器M編寫任意函數,以便每個單獨的數據項被推入迭代器首先通過應用函數進行預處理?

    2熱度

    2回答

    隨着Scalaz 7的目的的產品,我們可以爲類羣的產品獲得零: scala> mzero[(Int, String)] res13: (Int, String) = (0,"") 是否有更簡單的方式來獲得零的情況下類,其字段是monoids?理想情況下,不需要重複字段類型àla: scala> case class Foo(x: Int, y: String) defined class

    2熱度

    1回答

    我想將案例類與scalaz NonEmptyList字段進行比較。 ==或euqls不起作用,我知道這是由於NonEmptyList.equals方法,它檢查比較對象是否與調用方相同。另一方面,對於NonEmptyList,scalaz ===函數可以正常工作,前提是必須在範圍內隱含Equals。 問題是我想讓我的案例類通用,並希望這個實例很容易比較。 如何做到這一點? 如果唯一的解決方案是提供自

    2熱度

    1回答

    有Equal對象scalaz包: package scalaz object Equal extends EqualLow { // ... implicit def Tuple3Equal[A: Equal, B: Equal, C: Equal]: Equal[(A, B, C)] = equal { case ((a1, b1, c1), (a2, b2

    10熱度

    1回答

    如果我有一個單子轉換型採用兩個類型參數,我可以用liftM解除值到轉化單子: scala> val o = 1.point[List].liftM[OptionT] o: scalaz.OptionT[List,Int] = OptionT(List(Some(1))) 但是,如果我試圖用同樣的事EitherT好像我必須用一個類型別名(或類型拉姆達): scala> val e = 1.po