当前位置: 首页 > 编程笔记 >

Elm列表上的模式匹配

司徒兴德
2023-03-14
本文向大家介绍Elm列表上的模式匹配,包括了Elm列表上的模式匹配的使用技巧和注意事项,需要的朋友参考一下

示例

我们可以像其他任何数据类型一样在列表上进行匹配,尽管它们有些独特,因为用于构建列表的构造函数是infix函数::。(有关更多信息,请参见示例创建列表。)

matchMyList : List SomeType -> SomeOtherType
matchMyList myList = 
    case myList of
        [] -> 
            emptyCase

        (theHead :: theRest) ->
            doSomethingWith theHead theRest

我们可以根据需要匹配列表中的任意多个元素:

hasAtLeast2Elems : List a -> Bool
hasAtLeast2Elems myList =
    case myList of
        (e1 :: e2 :: rest) -> 
            True
    
        _ -> 
            False

hasAtLeast3Elems : List a -> Bool
hasAtLeast3Elems myList =
    case myList of
        (e1 :: e2 :: e3 :: rest) -> 
            True
    
        _ -> 
            False
           

 类似资料:
  • 本文向大家介绍Scala序列上的模式匹配,包括了Scala序列上的模式匹配的使用技巧和注意事项,需要的朋友参考一下 示例 检查集合中元素的准确数量 现场演示 提取first(s) element(s)并将其余部分保留为集合: 通常,可以用于构建序列的任何形式都可以用于与现有序列进行模式匹配。 请注意,在使用Nil和::在对序列进行模式匹配时将起作用,但确实会将其转换为List,并且可能会产生意外结

  • 本文向大家介绍Elm语言创建列表,包括了Elm语言创建列表的使用技巧和注意事项,需要的朋友参考一下 示例 在底层,List(链接列表)由::函数(称为“ cons”)构造,该函数带有两个参数:一个元素(称为头)和一个(可能为空)列表(头在其前面)。 List只能采用一种类型的值,因此[1,"abc"]不可能实现。如果需要,请使用元组。            

  • 问题内容: 我正在使用PostgreSQL 9.4。我的表有一列: 我在JSONB列中根据键/值存储事务。要求之一是从键值中搜索客户名称,因此我正在运行如下查询: 我所做的一切似乎都使查询不喜欢GIN索引。如何使查询使用不区分大小写的模式搜索的GIN索引? 我尝试将列更改为文本,使用为其编制索引,然后搜索所需的文本,然后将结果转换为,然后搜索所需的键/值。这种方法似乎行不通。 问题答案: 默认的G

  • 本文向大家介绍OCaml 具有模式匹配的递归列表处理,包括了OCaml 具有模式匹配的递归列表处理的使用技巧和注意事项,需要的朋友参考一下 示例 在这里,我们演示了如何使用OCaml的模式匹配语法来递归处理列表。 在这种情况下,模式[]匹配空列表,而hd::tl匹配任何具有至少一个元素的列表,hd并将列表的第一个元素分配给,列表的其余部分(可以为空)分配给tl。 请注意,这hd::tl是一种非常通

  • 本文向大家介绍Elixir使用模式匹配获取列表的总和,包括了Elixir使用模式匹配获取列表的总和的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 有没有一种方法可以在python中编写与以下格式的字符串匹配的正则表达式: 或 在这里,$=表示零或更多的空白可以存在 :来自字符串的固定子集的字符串['feat','fix','docs','断'] :最大长度为n的字符串 :最大长度为m的字符串 前缀应该始终是一个字符串,之后是一些最大q长度的字母数字字符 注意:我们不能省略像应该使用与下面示例中所示完全相同的格式: feat(feat new