gpt4 book ai didi

Haskell 类型匹配模式

转载 作者:行者123 更新时间:2023-12-02 00:11:32 26 4
gpt4 key购买 nike

有没有办法在haskell中做这样的事情?

data Fruits = Apple Int | Orange Int deriving (Eq, Show)

basket = [Apple 2, Orange 4]

from_basket t (x:basket) =
case x of
(t i) -> i
_ -> from_basket t basket

现在我想从水果列表(篮子)中获取“苹果”

from_basket Apple basket

没有显式模式匹配

case x of
Apple i -> ...
Orange i -> ...
_ ->

最佳答案

一种方法是定义您自己的辅助函数 isApple,然后进行过滤:

isApple (Apple _) = True
isApple _ = False

getApples = filter isApple

模式匹配是你选择的工具,我不知道你是否可以进一步简化它。但除了一些肮脏的 Haskell 模板之外,我没有看到任何其他方法。

关于Haskell 类型匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5829619/

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