斯卡拉 – 笛卡儿三种名单与猫的产品
发布时间:2020-12-16 18:10:06 所属栏目:安全 来源:网络整理
导读:假设我需要压缩三个列表来获取三元组列表.我可以这样写: import cats._import cats.data._import cats.implicits._(List(1,2) |@| List(3,4) |@| List(5,6)) map {case (a,b,c) = (a,c)}res1: List[(Int,Int,Int)] = List((1,3,5),(1,6),4,(2,6)) 你能简化
假设我需要压缩三个列表来获取三元组列表.我可以这样写:
import cats._ import cats.data._ import cats.implicits._ (List(1,2) |@| List(3,4) |@| List(5,6)) map {case (a,b,c) => (a,c)} res1: List[(Int,Int,Int)] = List((1,3,5),(1,6),4,(2,6)) 你能简化一下吗? 解决方法
在1.1.0中,它只是(a,c).tupled.包含所有导入和依赖项的Ammonite脚本:
@ import $ivy.`org.typelevel::cats-core:1.1.0` @ import cats._,cats.data._,cats.implicits._ val triples = (List(1,2),List(3,4),List(5,6)).tupled println(triples) 输出: List((1,6)) 我不会称之为“拉链”,但它更像是笛卡儿的产品. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |