加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

编写所有对的列表

发布时间:2020-12-16 09:23:53 所属栏目:安全 来源:网络整理
导读:我是Scala的新手,通过Haskell进行函数式编程的经验非常有限. 我想尝试编写一个从单个输入列表构造的所有可能对的列表.例: val nums = List[Int](1,2,3,4,5) // Create an input listval pairs = composePairs(nums) // Function I'd like to create// pairs
我是Scala的新手,通过Haskell进行函数式编程的经验非常有限.

我想尝试编写一个从单个输入列表构造的所有可能对的列表.例:

val nums = List[Int](1,2,3,4,5)   // Create an input list
val pairs = composePairs(nums)        // Function I'd like to create

// pairs == List[Int,Int]((1,1),(1,2),3),4),5),(2,1) ... etc)

我尝试在整个列表的每个元素上使用zip,希望它会在整个列表中复制一个项目.它不起作用(只匹配第一个可能的对).我不确定如何重复一个元素(Haskell用循环做它并且我相信),并且我在跟踪Scala上的文档时遇到了麻烦.

这让我觉得可能有更简洁,更实用的方法来获得我想要的结果.有没有人有一个好的解决方案?

解决方法

这个怎么样:

val pairs = for(x <- nums; y <- nums) yield (x,y)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读