我有一个列表,其中的元素是某种节点类型,可能是UNode、LNode或RNode。 [ UNode("a"), LNode("b"), RNode("c") ] 我该如何按类型(例如UNode)对其进行过滤?
很不幸,我所知道的最简单的方式也是唯一的方式:匹配。 let isUNode node = case node of UNode _ -> True _ -> False in filter isUNode
let isUNode UNode = True; isUNode _ = False in filter isUNode
,不需要使用case
表达式。 - Aadit M ShahisUNode
这个名称比较长的情况下,使用这个更短的名称,我不喜欢重复它。就是这样。 - Ry-