gpt4 book ai didi

string - 两个替换作为参数

转载 作者:行者123 更新时间:2023-12-02 22:23:40 29 4
gpt4 key购买 nike

我正在编写一个 Haskell 函数,它接受 2 个替换作为参数。我已经处理过这样的情况:如果任一参数为 Nothing,则该函数将返回 Nothing。如果两者都不是 Nothing,它应该将它们组合成一个替换。我做了以下事情:

args :: Maybe (Subst a) -> Maybe (Subst a) -> Maybe (Subst a)
args (Just v) (Just v') = Just (v ++ v')
args _ _ = Nothing

但是,我收到预期类型与实际类型不匹配的错误。我对为什么感到困惑。有什么想法吗?

最佳答案

++的类型是

(++) :: [a] -> [a] -> [a]

但您正尝试将其应用于 Subst a 类型的两个值。

你可以像这样写一个辅助函数combineSubs:

combineSubs :: Subst a -> Subst a -> Subst a
combineSubs (S xs) (S ys) = S (xs ++ ys)

您还可以在函数 args 的参数中对 S 进行模式匹配。

关于string - 两个替换作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13296947/

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