当前位置:  开发笔记 > 编程语言 > 正文

与儿童歧视联盟相匹配

如何解决《与儿童歧视联盟相匹配》经验,为你挑选了1个好方法。



1> Tomas Petric..:

我不认为使用单一模式有一个很好的方法,但您可以定义一个活动模式,它将为您提供另一种合并两种苹果的数据视角:

let (|AnyApple|Banana|) = function
  | Apple a | MoreApples a -> AnyApple a
  | Banana -> Banana 

这隐藏了标准Banana定义 - 你应该使用另一个名称来避免混淆,但其余的保持不变.现在您可以使用AnyApple以下模式匹配:

let speakFruit = function
  | AnyApple GrannySmith -> "granny smith"
  | AnyApple Gala -> "gala"
  | Banana -> "banana"

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有