小编Jam*_*abe的帖子

Scala中的val-mutable与var-immutable

Scala中是否有关于何时使用可变集合的val与使用带有不可变集合的var的指南?或者你真的应该用不可变的集合来瞄准val吗?

事实上,这两种类型的集合给了我很多选择,而且我常常不知道如何做出这种选择.

collections functional-programming scala immutability

94
推荐指数
3
解决办法
1万
查看次数

在Scala中处理monad时出错?尝试与验证

scalaz.Validation据说比Trymonad 更强大,因为它可以累积错误.

是否有任何情况下,您可以选择Tryscalaz.Validationscalaz.\/

validation error-handling monads scala scalaz

20
推荐指数
1
解决办法
3238
查看次数

Scala:类型类和ADT之间的区别?

类型类和抽象数据类型之间有什么区别?

我意识到这对于Haskell程序员来说是一个基本的东西,但我来自Scala背景,并且会对Scala中的示例感兴趣.我现在能找到的最好的是类型类是"开放的"而ADT是"封闭的".将类型类与结构类型进行比较和对比也是有帮助的.

haskell scala abstract-data-type typeclass structural-typing

13
推荐指数
3
解决办法
7363
查看次数

Scalaz:如何使用超值镜头构图地图镜头?

有一个Scalaz地图透镜的例子在这里:丹·伯顿调用它containsKey,并且它是由爱德华Kmett谈话的启发.mapVPLensScalaz 7中还有一些东西可用于修改地图中的值.

我的问题是:如果我有一个用于修改类型V的镜头和一个用于a的镜头Map[K,V],我该如何编写它们?我一直在寻找一个简单的例子,但在Scalaz中仍然缺乏一些例子.

我对Scalaz 6和Scalaz 7解决方案都感兴趣.

scala map scalaz lenses scalaz7

6
推荐指数
1
解决办法
1072
查看次数

Scala风格:嵌套功能有多远?

Scala的一个优点是它可以让您很好地控制范围.您可以嵌套这样的函数:

def fn1 = {
  def fn11 = {
    ...
  }
  def fn12 = {
    ...
    def fn121 = {
      ...
    }
  }
  ...
  def fn13 = {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是fn1可能开始看起来有点吓人.来自Java背景,我们建议保持足够小的功能,以便在IDE中的单个"页面"上查看.

你会怎么看待基于这个推理从fn1中取出fn12:"它现在只在fn1中使用,但它可能会在以后的其他地方有用......"

此外,您是否会优先考虑在何处放置嵌套函数 - 在调用它们的代码之前或之后?

coding-style scala nested function

5
推荐指数
2
解决办法
2205
查看次数

使用类型类建模生产者 - 消费者语义?

如果系统中的某些实体可以充当数据或事件的生成者,而其他实体可以充当消费者,那么将这些"正交关注点"外化到生产者和消费者类型类中是否有意义?

我可以看到Haskell管道库使用这种方法,并且欣赏这个问题对于来自Haskell背景的人来说可能看起来非常基本,但是会对Scala视角和示例感兴趣,因为我看不到很多.

functional-programming scala producer-consumer typeclass

5
推荐指数
1
解决办法
236
查看次数