scalaz

    17熱度

    2回答

    這個問題不是火焰誘餌!可能很明顯,我最近一直在尋找Scalaz。我試圖去了解爲什麼我需要庫提供的一些功能。這裏的東西: import scalaz._ import Scalaz._ type NEL[A] = NonEmptyList[A] val NEL = NonEmptyList 我把一些println語句在我的功能,看看發生了什麼事情(題外話:我會怎麼做了,如果我試圖避免的副作

    24熱度

    4回答

    我想將List[Option[T]]轉換爲Option[List[T]]。函數的簽名類型是 def lo2ol[T](lo: List[Option[T]]): Option[List[T]] 預期的行爲是映射僅包含Some s轉換爲Some含有的元素Some的內部的元素的列表的列表。另一方面,如果輸入列表中至少有一個None,則預期行爲僅返回None。例如: scala> lo2ol(Som

    53熱度

    5回答

    我試圖找到'正確的'演員實現。我意識到有一堆他們,挑一個有點混亂。就我個人而言,我對遠程演員特別感興趣,但我想完整的概述會對其他人有所幫助。這是一個非常普遍的問題,所以請隨時回答你所知道的實現。 我知道下面的Scala Actor實現(SAI)。請添加缺少的。 斯卡拉2.7(差) 斯卡拉2.8 阿卡(http://www.akkasource.org/) 電梯(http://liftweb.net

    8熱度

    1回答

    我嘗試使用scalaz這樣定義讀者單子: import scalaz._ import Scalaz._ final class Reader[E,A](private[Reader] val runReader: E => A) object Reader { def apply[E,A](f: E => A) = new Reader[E,A](f) def en

    10熱度

    1回答

    scalaz中的許多方法都有象徵性的unicode等價物,例如forever和∞(當然,我有這種錯誤的方式,符號方法確實有ASCII等價物)。 該項目包含了想法live templates XML file所以這些可以自動完成,我相信通過使用forever+TAB快捷鍵(在上面的實例)。 雖然,我無法弄清楚如何將這個實時模板導入IDEA並實際使用它。我怎樣才能做到這一點?

    2熱度

    2回答

    下編譯: val p1: Int => Boolean = (i : Int) => i > 4 val s: List[Int] = List(1, 2, 3) val b1 = s ∃ p1 然而,這並不: val s: Set[Int] = Set(1, 2, 3) val b1 = s ∃ p1 我得到的以下錯誤: Found: Int => Boolean Require

    9熱度

    2回答

    我已經給出了一個java api,用於連接並使用基於回調的風格通過專用總線進行通信。我目前正在scala中實現一個概念驗證應用程序,我正在努力研究如何生成一個稍微更習慣的scala接口。 典型(簡體)應用程序可能看起來在Java中是這樣的: DataType type = new DataType(); BusConnector con = new BusConnector();

    10熱度

    13回答

    我試圖做盡可能少的代碼儘可能以下,並在功能上儘可能: def restrict(floor : Option[Double], cap : Option[Double], amt : Double) : Double 顯然以下工作: = (floor -> cap) match { case (None, None) => amt case (Some(f), None)

    26熱度

    5回答

    我希望能夠在Scala中應用操作f: (T,T) => T到Option[T]值。如果兩個值中的任何一個值爲None,我希望結果爲None。 更具體地說,我想知道是否有一個較短的方式來做到以下幾點:我已經tryied (x zip y) map {case (u,v) => f(u,v)} def opt_apply[T](f: (T,T) => V, x: Option[T], y: Optio

    2熱度

    2回答

    我有一個非常大的List[A]和函數f: List[A] => List[B]。我想將分割爲將我原來的列表分成最大大小的子列表,依次將這個函數應用到每個子列表中,然後將非分割的結果合併成一個大的List[B]。這很簡單: def split[T](l : List[T], max : Int) : List[List[T]] = //TODO def unsplit[T](l : List[L