作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想合并两个列表:
import scalaz.syntax.align._
import scalaz.std.list._
import scalaz.std.anyVal._
List(1, 2, 3).merge(List(4, 5, 6, 7)) // Evaluates to List(5, 7, 9, 7)
最佳答案
您可以使用 Multiplication
标记来指示您要使用乘法幺半群:
import scalaz.Tags.Multiplication
val xs = List(1, 2, 3).map(Multiplication(_))
val ys = List(4, 5, 6, 7).map(Multiplication(_))
scala> xs merge ys
res0: List[scalaz.@@[Int,scalaz.Tags.Multiplication]] = List(4, 10, 18, 7)
Multiplication.unwrap
删除标签。
scala> List(1, 2, 3).merge(List(4, 5, 6, 7))(Monoid.instance(_ * _, 1))
res1: List[Int] = List(4, 10, 18, 7)
关于scala - 如何选择乘法幺半群而不是加法幺半群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26503385/
我是一名优秀的程序员,十分优秀!