我正在製作一個戰略遊戲,並嘗試應用我學到的東西,嘗試使用不可變數據。在我的遊戲中我有單位,這些單位可以有不同的特殊功能。例如有些飛機可以隱藏自己。我搜索是一種方法,能夠做到某種 abstract class Units {
val life:Int
}
trait Hidable { self: Units =>
val hided:Boolean
def hide:Units wit
隨着Scalaz 7的目的的產品,我們可以爲類羣的產品獲得零: scala> mzero[(Int, String)]
res13: (Int, String) = (0,"")
是否有更簡單的方式來獲得零的情況下類,其字段是monoids?理想情況下,不需要重複字段類型àla: scala> case class Foo(x: Int, y: String)
defined class
如果我有一個單子轉換型採用兩個類型參數,我可以用liftM解除值到轉化單子: scala> val o = 1.point[List].liftM[OptionT]
o: scalaz.OptionT[List,Int] = OptionT(List(Some(1)))
但是,如果我試圖用同樣的事EitherT好像我必須用一個類型別名(或類型拉姆達): scala> val e = 1.po