gpt4 book ai didi

haskell - Haskell 中 `[_]` 模式的含义是什么?

转载 作者:行者123 更新时间:2023-12-05 09:01:35 25 4
gpt4 key购买 nike

在 Haskell 中创建模式匹配时,是否进行以下模式匹配:

function [_] = []

意思相同:

function (x:xs) = []

如果不是,[_] 模式是什么意思?

最佳答案

[_] 匹配具有一个 元素的列表; x:xs 匹配任何非空列表,副作用是将头部绑定(bind)到 x 并将尾部绑定(bind)到 xs

[_] 等同于 (_:[])

给定

f x = case x of 
[_] -> "singleton"
[] -> "empty"
otherwise -> "nonempty"

然后

> print $ map f [[], [1], [1,2]]
["empty","singleton","nonempty"]

关于haskell - Haskell 中 `[_]` 模式的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73037063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com