特定尺寸或更大/更小的图案匹配列表
发布时间:2020-12-16 09:13:49 所属栏目:安全 来源:网络整理
导读:有没有办法指定与 Scala中大小(或更小)或等于某个值的List匹配的模式? 例如,如果我想对3或更小的所有列表应用相同的操作: list match { case Nil = op(list) case x :: Nil = op(list) case x :: y :: Nil = op(list) case x :: y :: z :: Nil = op(list)
有没有办法指定与
Scala中大小(或更小)或等于某个值的List匹配的模式?
例如,如果我想对3或更小的所有列表应用相同的操作: list match { case Nil => op(list) case x :: Nil => op(list) case x :: y :: Nil => op(list) case x :: y :: z :: Nil => op(list) case x :: tail => other(list) } 有没有办法减少这两种情况? 解决方法
是的,虽然你需要扭转案例的顺序:
list match { case l @ (_ :: _ :: _ :: _) => other(l) case l => op(l) } 注意,我已经在模式列表中绑定了一个新的变量l,而不是引用列表,当我不需要一个变量时,我已经使用了_.我建议坚持这两个做法,但如果没有这些做法,答案将是完全一样的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- learning shell display alert function
- yum – 如何防止安装不兼容的rpm包
- bootstrap之jumbotron&thumbnail&progressBar样式
- 最早截止时间优先(EDF)算法详解
- angularjs – 如果{{user.userName}}为空,我可以在div中显示
- WebService大讲堂之Axis2(5):会话(Session)管理
- 在vsplit中打开可编辑文件,但在vimscript中保持原始位置
- Redis简单案例(四) Session的管理
- 表格插件bootstrapTable中隐藏和显示某列及一些小注意点
- shell – 从“du”中排除所有权限被拒绝的消息